\usepackagecancel

Return to 理工系の数学B

置換積分

積分変数 x をうまく変換すると,積分の計算が簡単になる場合がある。

つまり,被積分関数 f(x) において,x=φ(t) と置いて,x に関する積分を新しい変数 t に関する積分に置き換える。

このとき,被積分関数を新たな変数 t で表し,また微分 dxdxdtdt=dφdtdt=φ(t)dt で置き換え,

f(x)dx=f[φ(t)]φ(t)dt

定積分の場合には x の積分範囲 a,ba=φ(α),b=φ(β) となる t の積分範囲 α,β に置き換えて,以下のようになる。
abf(x)dx=αβf[φ(t)]φ(t)dt

… ということになるが,現実的には t=g(x) として x の関数として新たな変数 t を定義することになるだろう。また,不定積分の場合は最終的な結果は元の積分変数 x で表すことになる。

例題 1

logxxdx

これは,x=et と置く… というよりは,logxt と置くとするのが現実的な発想であろう。そうすると,1xdx=dt であるから,
logxxdx=tdt=t22+C=(logx)22+C

例題 2

sinaxcosaxdx

たとえば,sinaxt とおくと

cosax adx=dt  cosax dx=dta  sinaxcosaxdx=t dta=t22a+C=sin2ax2a+C

あるいは,cosaxt とおくと

sinax adx=dt  sinax dx=dta  sinaxcosaxdx=t dta=t22a+C=cos2ax2a+C

あるいはまた,倍角の公式を使うと

sinaxcosax dx=12sin(2ax) dx=14asin(2ax)2adx(2axt)=14asint dt=cost4a+C=cos2ax4a+C

となり,1つの不定積分に対して見かけ上,3通りの答えがでてくる。これらが(積分定数の不定性を考慮すれば)同等であることを確認しておくこと。

Maxima や Python の SymPy を使ってコンピュータで積分させると,以下のように一見別の答えが出てくるので,そんな時も少しも騒がず,その同等性を示すのが(機械ではなく)人類の役割なんですよ。

 


 

コンピュータ代数システムの一つ,Maxima でこの積分をさせると…

Maxima で sin(ax)cos(ax) dx の積分
In [1]:
'integrate(sin(a*x)*cos(a*x), x) = 
 integrate(sin(a*x)*cos(a*x), x);
Out[1]:
(%o1)cos(ax)sin(ax)dx=cos2(ax)2a

 


 

一方,Python の SymPy では,

Python の SymPy で sin(ax)cos(ax) dx の積分
In [1]:
from sympy import *
from sympy.abc import *
In [2]:
Eq(Integral(sin(a*x)*cos(a*x), x), 
   integrate(sin(a*x)*cos(a*x), x))
Out[2]:
sin(ax)cos(ax)dx={sin2(ax)2afora00otherwise