微分依赖
differentiation dependencies
我想了解 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 的导数没有显示。为什么?
我可以让 Maxima 在结果中显示这些导数吗?
depends
声明的依赖项只能识别符号的、未定义的函数。依赖关系与函数名(一个符号)相关联。
无法识别具有由 :=
或 define
定义的实际定义的函数。函数体可以包含其他函数的任意组合,因此了解函数依赖于哪些其他函数的唯一方法是评估函数体。这就是你写 diff(h(x, y), ε)
.
时发生的事情
我想了解 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 的导数没有显示。为什么? 我可以让 Maxima 在结果中显示这些导数吗?
depends
声明的依赖项只能识别符号的、未定义的函数。依赖关系与函数名(一个符号)相关联。
无法识别具有由 :=
或 define
定义的实际定义的函数。函数体可以包含其他函数的任意组合,因此了解函数依赖于哪些其他函数的唯一方法是评估函数体。这就是你写 diff(h(x, y), ε)
.