-1

我尝试了函数“at”,其中包含一些函数,然后将输出提供给某个变量。Maxima 成功区分了表达式,但随后“at”失败,输出为“at(--some successful done function--, z=l)=0”。我需要“at”才能正常工作,将结果提供给变量。

(%i34)  a: 45*z^2*l-1; /*expression*/
eq1: at(diff(a, z, 1), z = l)=0; /*giving the meaning of the operations to eq1*/
at(diff(a, z, 1), z = l)=0; /*trying the same without giving the result to a variable*/
ev(eq1, eval); /*trying ev*/
(a) l*z^2* 45-1
(eq1)    at(2*l*z* 45,z=l)=0
(%o34)  2*l^2* 45=0
(%o35)  at(2*l*z* 45,z=l)=0    

因此,当我不将 at 的结果提供给其他变量时,这很好,但是当我尝试这样做时 - 即使进行了额外的评估,它也会失败。这是如何运作的?这也在 Linux 上进行了尝试。在 Windows 上,我没有同样的问题。

4

1 回答 1

1

我得到以下输出。%o3 不是您要找的吗?

(%i2) a: 45*z^2*l-1;
                                 2
(%o2)                      45 l z  - 1
(%i3) eq1: at(diff(a, z, 1), z = l)=0;
                                2
(%o3)                       90 l  = 0

我在 MacOS 上使用 Maxima 5.42.2 工作。build_info();你的 Linux 系统报告了什么?一些 Linux 发行版打包了一个古老版本的 Maxima;也许你可以得到一个更新的版本。实际上,在 Linux 系统上从源代码 tarball 构建 Maxima 非常容易;如果你想走那条路,我可以提供帮助。

于 2019-06-14T17:35:29.327 回答