2013-01-24 54 views
0

在枫树,如果我们要替换函数f(x)和f(x)+ A * F1(x)将下列表达式,我们可以做如何用Maple中的D(f)(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)或更高阶导数的表达式中,有没有一种方便的方法来进行替换?

回答

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) 
相关问题