在Maple中,如果我们想在下面的表达式中用f(x)+ a * f1(x)替换函数f(x),我们可以做到
expr:=f(x)+diff(f(x),x);
subs(f(x)=f(x)+a*f1(x),expr);
但是,如果我们想在此表达式中进行相同的替换
expr:=f(x)+D(V)(f(x))+D(f)(x);
术语D(f)(x)不会改变。是否有方便的方法在涉及D(f)(x)或更高阶导数的表达式中进行替换?
答案 0 :(得分:1)
以下两种方式中的第一种可能更符合您的要求。第二种方式包含修正,迫使a
保持不变w.r.t x
(即。a(x)
不依赖于x
)。
expr:=f(x)+D(V)(f(x))+D(f)(x);
f(x) + D(V)(f(x)) + D(f)(x)
eval( expr, f=(t->f(t)+a*f1(t)) );
f(x) + a f1(x) + D(V)(f(x) + a f1(x)) + D(f)(x) + a D(f1)(x)
eval( eval(expr,f=f+a*f1), [D(a)(x)=0, a(x)=a] );
f(x) + a f1(x) + D(V)(f(x) + a f1(x)) + D(f)(x) + a D(f1)(x)