2

我有一些复杂的方程式,我想用 Maxima 来评估。

在解决方案过程的一个步骤中,我将寄存器拆分为最重要和最不重要的组件,因此我需要能够在 Maxima 中做到这一点。

我试过用load(functs),不,谢谢。

4

1 回答 1

2

使用 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 提供的 numericio 更多的“预处理”工具,您可以考虑设置一个短管道,以其他一些快速且具有低级灵活性的语言进行预处理(Ruby 对此很有用,与其他脚本语言一样),然后使用上述包将清理后的文件读入 Maxima。

最后,这些更非典型的尝试通常会在解决所有问题之前碰壁。

发生这种情况时,我建议使用Maxima 邮件列表。我发现它是一个反应迅速的专家社区,不仅可以帮助您摆脱困境,而且还可以提高您的熟练程度和您对“自然”Maxima 编程风格的熟悉程度。这对我所做的一些工作有很大帮助。

(有关 Maxima 的其他资源,包括 Ready Reference Cheat Sheet,请参阅参考资料:用于符号计算的 Maxima

干杯,

于 2010-02-25T19:40:23.307 回答