wolfram-mathematica - 如何在Mathematica中进行函数替换

标签 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}
但是两者都没有。感谢您的帮助!谢谢。

最佳答案

表达式中的导数的FullForm

In[145]:= D[f[x,y],x]//FullForm

Out[145]//FullForm= Derivative[1,0][f][x,y]

这应该可以解释为什么第一个规则失败了-表达式中不再有f[x,y]了。第二条规则失败,因为Derivative在将其替换为表达式时将f视为函数。您可以做的是:
In[146]:= D[f[x,y],x]/.f->(#1*#2&)

Out[146]= y

请注意,纯函数周围的括号是必不可少的,以避免与优先级相关的错误。

或者,您可以通过模式定义r.h.s:
In[148]:= 
fn[x_,y_]:=x*y;
D[f[x,y],x]/.f->fn

Out[149]= y

高温超导

关于wolfram-mathematica - 如何在Mathematica中进行函数替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975136/

相关文章:

python - 用奇异矩阵计算求解方程组

formatting - 在 Mathematica 中更改 "Parameter Table"的背景

Mathematica 中的数据缓存

memory - Mathematica 中的子内核内存控制

user-interface - 如何创建选项卡式 Mathematica 笔记本

wolfram-mathematica - 在 Mathematica 中定义自定义符号

wolfram-mathematica - 如何在保持标签清晰的同时减小导出图的文件大小

wolfram-mathematica - Mathematica 内部数字格式和精度

wolfram-mathematica - 关于 "smart"在 mathematica 中替换的问题

c - 如何在 c 文件中编写入口点,以便可以通过命令行和/或 WSTP/MathLink/Mathematica 访问该文件的其他函数?