\begingroup
简化我的问题,我有表达式 D[f[x], x],并且我想用 a[x]+b[x] 替换 f[x]。
通常的替换当然不起作用(我也明白为什么)
D[f[x ], x] /. {f[x] -> a[x]+b[x] } 和 D[f[x ], x] /. {f -> a+b}
如何以优雅的方式完成它们?
\endgroup
3
最佳答案
1
\begingroup
代换完成之前,D[f[x ], x] 会被求值,结果为:f'[x]。代换:{f[x] -> a[x]+b[x] } 对 f'[x] 不会产生任何作用。
因此,你必须通过以下方式防止过早评估:保持
Hold[D[f[x], x]] /. {f[x] -> a[x] + b[x]} // ReleaseHold
\endgroup
|
这个问题类似于:。如果你认为它不同,请问题,说明它的不同之处和/或该问题的答案对你的问题没有帮助。
\endgroup
–
另请参阅:
\endgroup
–
更具体地说:
func[x_] = a[x] + b[x]; D[f[x], x] /. f -> func
\endgroup
–
|