1

我想写一个 Mathematica 函数,它接受一个表达式作为参数,取那个表达式的导数,然后对表达式做一些事情。所以(作为一个玩具例子)我想写

F[f_] = D[f, x] * 2

以便

F[x^2] = 4x

相反,我得到

F[x^2] = 0

有人可以指点我相关的文档吗?我花了一些时间浏览 Mathematica 参考资料,但没有发现任何有用的东西。

4

1 回答 1

4

=当您打算使用延迟分配时,您已经使用了分配:=。当您F[f_]=D[f,x]*2使用(非延迟)赋值进行评估时,Mathematica 会查看D[f,x]并看到f(未分配的符号)不依赖于x; 因此,它的导数是 0。因此,F[f_]=0对于 的任何参数F,它都是稍后返回的。

如果您只想F在指定f_应该是什么之后才进行评估,则需要通过替换为来使用延迟=分配:=

于 2013-02-15T21:05:26.170 回答