0

Mapleでは、次の式で関数f(x)をf(x)+ a * f1(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)以上の導関数を含む式で置換を行う便利な方法はありますか?

4

1 に答える 1

1

次の2つの方法の最初の方法は、あなたが望むものである可能性があります。a2番目の方法には、一定のwrtを強制するための修正が含まれています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)
于 2013-01-24T03:32:53.940 に答える