Qia*_* Li 9 wolfram-mathematica
我有表达D[f[x, y], x],我想替换f[x,y]用x*y,我试过如下:
D[f[x, y], x] /. {f[x,y] -> x*y}
和
D[f[x, y], x] /. {f -> x*y}
但都没有奏效.非常感谢您的帮助!谢谢.
Leo*_*rin 14
的FullForm在表达所述衍生物是
In[145]:= D[f[x,y],x]//FullForm
Out[145]//FullForm= Derivative[1,0][f][x,y]
Run Code Online (Sandbox Code Playgroud)
这应该可以解释为什么第一条规则失败了 - f[x,y]你的表达式中就没有了.第二个规则失败,因为它Derivative被认为f是一个函数,而你用表达式替换它.你能做的是:
In[146]:= D[f[x,y],x]/.f->(#1*#2&)
Out[146]= y
Run Code Online (Sandbox Code Playgroud)
请注意,纯函数周围的括号是必不可少的,以避免与优先级相关的错误.
或者,您可以通过模式定义rhs:
In[148]:=
fn[x_,y_]:=x*y;
D[f[x,y],x]/.f->fn
Out[149]= y
Run Code Online (Sandbox Code Playgroud)
HTH
没有什么新东西,就像我通常想到的那样:
D[f[x, y], x] /. f -> Function[{x, y}, x y]
Run Code Online (Sandbox Code Playgroud)
退房
y
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8234 次 |
| 最近记录: |