我有一些复杂的方程式,我想用 Maxima 来评估。
在解决方案过程的一个步骤中,我将寄存器拆分为最重要和最不重要的组件,因此我需要能够在 Maxima 中做到这一点。
我试过用load(functs)
,不,谢谢。
使用 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)
干杯,