2

直到今天,我一直在 Maxima 中使用假单位,当我意识到有支持转换和其他很酷功能的单位包时。我发现 ezunits 是其家族中最完整的软件包,但我发现它存在问题。

每次我想使用它,我都必须编译它。换句话说,运行该行会load(ezunits)启动一个编译过程并将文件的位置作为输出输出ezunits.mac。但是,如果要打开一个新的 maxima 会话并load(ezunits)在其上运行,则编译将再次执行。人们会期望只编译一次,然后只加载一个编译文件。

有没有办法解决这个问题?

4

1 回答 1

1

我不知道如何抑制所有关于编译的消息。您可以编辑 ezunits_functions.mac 的副本并注释掉开始的行compile (constantp_not0, ...)或直接删除它。

另一种解决方法是将 ezunits 编译并加载到 Maxima 中,然后保存当前图像(现在包含默认的 Maxima 和 ezunits)。然后您可以加载更新的图像而不是默认图像,并且 ezunits 已经存在。

我猜你在 Windows 上工作,Maxima 是用 GCL 编译的。在这种情况下,我不确定如何转储图像。对于 Linux 上的 GCL,它是:(si:save-system "myimagename")您还需要修改 Maxima 批处理脚本以加载更新的图像。

顺便说一句,我编写了 ezunits 包,所以如果您有任何问题或意见,我很想听听。

于 2012-12-18T23:53:13.537 回答