使用Maxima中的位移操作求解方程

时间:2010-01-29 16:15:25

标签: bit-shift equation maxima

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

在解决方案流程的一个步骤中,我将寄存器拆分为最重要且最不重要的组件,我需要能够在Maxima中执行此操作。

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

1 个答案:

答案 0 :(得分:2)

使用Numericalio包,Maxima能够从流和文件中读取二进制数据,沿着8位边界,并为读入设置所需的字节顺序.matcioio附带预编译的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是对此有好处,就像其他脚本语言一样),然后使用bove中描述的包将已清理的文件读入Maxima。

最后,这些更不典型的尝试通常会在所有问题得到解决之前达到某种程度。

当发生这种情况时,我建议使用Maxima mailing list。我发现它是一个非常敏感,专业的社区,不仅可以帮助你摆脱困境,而且还提高了你的熟练程度和你对“自然”Maxima编程风格的熟悉程度。这对我完成的一些工作有很大的帮助。

(有关Maxima的其他资源,包括Ready Reference Cheat Sheet,请参阅Resources: Maxima for Symbolic Computation

干杯,