Main Content

changeIntegrationVariable

説明

G = changeIntegrationVariable(F,old,new)F の積分への置換積分を適用し、oldnew で置き換えられます。oldF の積分の前の積分変数に依存し、new は新しい積分変数に依存しなければなりません。詳細については、置換積分を参照してください。

F で積分を指定する場合、'Hold' オプションが true に設定された関数 int を使用して、積分の未評価形式を返すことができます。その後、changeIntegrationVariable を使用して置換積分の手順を表示できます。

すべて折りたたむ

変数の変更を定積分 abf(x+c) dx に適用します。

積分を定義します。

syms f(x) y a b c
F = int(f(x+c),a,b)
F = 

abf(c+x) dx

y への積分で変数 x+c を変更します。

G = changeIntegrationVariable(F,x+c,y)
G = 

a+cb+cf(y) dy

置換積分を使用して cos(log(x))dx の積分を求めます。

'Hold' オプションを true に設定することにより、評価せずに積分を定義します。

syms x t
F = int(cos(log(x)),'Hold',true)
F = 

cos(log(x)) dx

log(x)t を代入します。

G = changeIntegrationVariable(F,log(x),t) 
G = 

etcos(t) dt

G の積分を評価するには、関数 release を使用して 'Hold' オプションを無視します。

H = release(G)
H = 

etcos(t)+sin(t)2

t の代わりに、log(x) を復元します。

H = simplify(subs(H,t,log(x)))
H = 

2xsin(π4+log(x))2

結果を、'Hold' オプションを true に設定しない int によって返される積分結果と比較します。

Fcalc = int(cos(log(x)))
Fcalc = 

2xsin(π4+log(x))2

積分 x tan(log(x))dx の閉形式の解を求めます。

関数intを使用して積分を定義します。

syms x
F = int(x*tan(log(x)),x)
F = 

xtan(log(x)) dx

関数 int は積分の閉形式の解を求めることができません。

log(x)t を代入します。置換積分を適用します。

syms t
G = changeIntegrationVariable(F,log(x),t)
G = 

e2t2Fhypergeom1(1,-i; 1-i; -e2ti)i2+et2+2i2Fhypergeom1(1,1-i; 2-i; -e2ti)-14-14i

閉形式の解は超幾何関数で表されます。超幾何関数の詳細については、hypergeomを参照してください。

積分 01esin(x)dx を数値的に高い精度で計算します。

積分 01esin(x)dx を定義します。積分への閉形式の解は存在しません。

syms x
F = int(exp(sqrt(sin(x))),x,0,1)
F = 

01esin(x) dx

vpaを使用して積分を数値的に有効桁数 10 桁まで計算できます。

F10 = vpa(F,10)
F10 = 1.944268879

代わりに、関数vpaintegralを使用して相対許容誤差を指定することもできます。

Fvpa = vpaintegral(exp(sqrt(sin(x))),x,0,1,'RelTol',1e-10)
Fvpa = 1.944268879

関数 vpa で有効桁数 70 桁の数値積分を求めることはできず、vpaintegral の形式で未評価の積分が返されます。

F70 = vpa(F,70)
F70 = 1.944268879138581167466225761060083173280747314051712224507065962575967

高精度の数値積分を求めるために、変数の変更を実行できます。式 sin(x)t を代入します。積分を数値的に有効桁数 70 桁まで計算します。

syms t;
G = changeIntegrationVariable(F,sqrt(sin(x)),t)
G = 

0sin(1)2tet1-t4 dt

G70 = vpa(G,70)
G70 = 1.944268879138581167466225761060083173280747314051712224507065962575967

入力引数

すべて折りたたむ

積分を含む式。シンボリック式、シンボリック関数、シンボリック ベクトルまたはシンボリック行列として指定します。

代入される部分式。シンボリック スカラー変数、シンボリック式、またはシンボリック関数として指定します。oldF の積分の前の積分変数に依存しなければなりません。

新しい部分式。シンボリック スカラー変数、シンボリック式、またはシンボリック関数として指定します。new は新しい積分変数に依存しなければなりません。

詳細

すべて折りたたむ

置換積分

数学的な観点から、代入ルールは不定積分に対しては次のように

f(g(x))g'(x)dx=(f(t)dt)|t=g(x)

定積分に対しては次のように正式に定義されます。

abf(g(x))g'(x)dx=g(a)g(b)f(t)dt.

バージョン履歴

R2019b で導入