当我为使用funmake(f,[x_1,x_2])创建的函数f编写函数diff(f(x_1,x_2),x_1,1)的偏导数表达式时,返回的输出为

然而,当复制和粘贴偏导数的输出时,我得到的是'diff(f(x_1,x_2)),它代表函数f的总导数,而不是偏导数:

因为全导数和偏导数不是一回事,所以这是不合适的。出现这种行为的原因是什么?怎么才能修复呢?
发布于 2021-08-17 15:42:50
正如Robert Dodier在评论中所写的那样,这是wxMaxima中的一个错误。它是由处理下标的代码引起的。(在您的例子中,是_1和_2)。下标单元格没有实现一个应该序列化微分变量的函数。
要解决此问题,可以避免使用下标。将x_1和x_2更改为x1和x2:
(%i1) diff(f(x1,x2),x1,1); /* OK */
(%i2) diff(f(x_1,x_2),x_1,1); /* NOT OK */

https://stackoverflow.com/questions/68290774
复制相似问题