我想了解 Maxima 中用于微分的依赖关系是如何工作的 对于迭代案例。 我在这里试过:
(%i1) depends([f],[x,y]);
(%o1) [f(x,y)]
(%i2) depends([g],[x,y]);
(%o2) [g(x,y)]
(%i3) depends([x,y],[ε]);
(%o3) [x(ε),y(ε)]
(%i4) diff(g,ε);
(%o4) (g[y])*(y[ε])+(g[x])*(x[ε])
(%i5) h(x,y):=f(x,y)+g(x,y);
(%o5) h(x,y):=f(x,y)+g(x,y)
(%i6) diff(h(x,y),ε);
(%o6) g(x,y)[ε]+f(x,y)[ε]
(%i7) diff(h,ε);
(%o7) 0
在 (%o4( 中,我得到了关于 \epsilon 的总导数。而在 (%o6( 中,没有显示 x 和 y 关于 \epsilon 的导数。为什么? 我可以让千里马在结果中显示这些衍生物吗?
depends
声明的依赖项仅可识别为符号、未定义的函数。依赖项与函数名称(符号(相关联。
具有实际定义的函数,如:=
或define
所定义,不被识别。函数的主体可以包含其他函数的任意组合,因此知道函数依赖于哪些其他函数的唯一方法是计算函数体。这就是你写diff(h(x, y), ε)
时发生的事情.