Решение уравнений с использованием операций сдвига битов в Maxima - PullRequest
2 голосов
/ 29 января 2010

У меня есть несколько сложных уравнений, которые я бы хотел оценить, используя Maxima.

На одном этапе процесса решения я разделил регистр на его наиболее значимые и наименее значимые компоненты, и мне нужно иметь возможность сделать это в Maxima.

Я пытался использовать load(functs), нет, спасибо.

1 Ответ

2 голосов
/ 25 февраля 2010

Используя пакет numericio, Maxima может считывать двоичные данные из потоков и файлов вдоль 8-битных границ и устанавливать желаемый порядок байтов для считывания. Numericio поставляется с предварительно скомпилированной версией Windows.

Итак, если вы имеете дело как минимум с 16-битными регистрами, и вы хотите разделить регистры по 8-битным границам, тогда функция

read_binary_array (S, A), 

может быть тем, что вы ищете, где S - источник данных, а A - массив (пункт назначения).

Существуют также варианты и вспомогательные функции, которые вы можете рассмотреть / которые могут понадобиться:

read_binary_list()
openr_binary()   /* for reading in from a file */

assume_external_byte_order()  /* default action is msb first */

Это самый вариант направления.

В вашем вопросе не так много дополнительных данных, поэтому здесь следует рассмотреть два других способа.

Если вам нужно больше средств «предварительной обработки», чем у Maxima с числовыми, вы можете рассмотреть возможность создания короткого конвейера, выполняющего предварительную обработку на другом языке, который быстр и имеет низкоуровневую гибкость (Ruby хорошо для этого, как и другие языки сценариев), а затем прочитайте очищенный файл в Maxima, используя пакет, описанный ниже.

Наконец, эти более нетипичные попытки обычно попадают в какую-то стену, прежде чем все перегибы срабатывают.

Когда это происходит, я рекомендую использовать список рассылки Maxima . Я обнаружил, что это очень отзывчивое, экспертное сообщество, которое может не только помочь вам выйти из тупика, но и поднять уровень вашего мастерства и вашего знакомства с «естественным» стилем программирования Maxima. Это очень помогло мне в работе, которую я проделал.

(Дополнительные ресурсы по Maxima, включая готовый справочный лист, см. Ресурсы: Maxima для символьных вычислений )

Приветствия

...