道具としての数学2:積分
━━ 微分の逆、タンザクの和
a
積分には、微分の逆演算として被積分関数(積分される関数)の原始関数を与えるという側面と、被積分関数と x 軸で囲まれる領域の面積を与えるという二つの側面がある。それぞれイメージがつかめるようにお話します。 微分の逆演算: 数値計算の手順から ある関数 F(x) に「微分」という操作を加えると、 dF
dx が得られた。 dF
dx に「微分」と逆の操作を施して F(x) を求めるような写像がありそうである。 それを「積分」と呼ぶのだが、ここでは数値計算的な手法でアプローチしてみたい。 x の各点で、関数 F(x) の微分 が f(x) で与えられ、x=x0 での初期値が F(x0) と与えられている時、F(x) を求める、ということが本節の目標。 関数の微分を含む方程式を微分方程式というが、現実の問題として、F(x) が解けない、解析的に存在しない場合もある。そんな時は数値計算に頼ることになる。 最も単純な微分方程式を数値計算的に解いてみよう。 dF
dx=f(x) 初期条件:(x0,F(x0)) 刻み幅を 𝛥x として、各点で、直線近似してやることにする。 x0 | F(x0) |
x1=x0+𝛥x | F(x1) ≡ F(x0)+dF dx(x0)𝛥x = F(x0)+f(x0)𝛥x |
x2=x1+𝛥x | F(x2)≡F(x1)+dF dx(x1)𝛥x = F(x1)+f(x1)𝛥x |
x3=x2+𝛥x | F(x3)≡F(x2)+dF dx(x2)𝛥x= F(x2)+f(x2)𝛥x |
⋮ | ⋮ |
xi=xi-1+𝛥x | F(xi)≡F(xi-1)+dF dx(xi-1)𝛥x= F(xi-1)+f(xi-1)𝛥x |
微分方程式 + 初期条件で、少し先の F(x0+𝛥x) が決まる。⇒それを初期条件として、また少し先の F(x1+𝛥x) が決まる …これを繰り返し適用することで、関数全体の形が決まる。 x0x1x3x2𝛥x→0dF dx(x1) | x0xendF(x)(x0,F(x0)) |
刻み幅を調節してやることにより、任意の精度で曲線 F(x) を求めることができる。従う微分方程式は同じでも、初期条件が異なれば、得られる解曲線は異なることに注意。 この解曲線群をどれも ∫f(x) dx で表し、f(x) の原始関数と呼ぶ。 初期条件が無ければ、解は一意的には定まらないが、 どの原始関数も、始点 xa と終点 xb の差は、その微分 f(x) を用いて、F(xb) -F(xa) ≡ xb∫xaf(x) dxと表される。 積分と言えば面積ではないの? 、という声が聞こえてきそうだが、それとあわせて、こちらは次のセクションで。 積分と面積 先ほどの ”微分の逆演算” の i 番目の式で、F(xi-1) の項を移項し、今度は誤差を考慮した形に書き直すと、F(xi) -F(xi-1) = dF
dx(xi-1)𝛥x +O((𝛥x)2)= f(xi-1)𝛥x+O((𝛥x)2)x 上の区間 [xa ,xb] を N 等分割し、各点を x0, x1, ..., xi, ...xN とすると、i = 1 から N までこの式は成り立つ。 xi-2xi-1xi+1xiF(x)F(xi) -F(xi-1) | xi-2f(x)xi+1xixi-1 f(xi-1)𝛥x |
各項をすべて和を取ると、 | N∑i=1{F(xi) -F(xi-1)} | =N∑i=1 {dF dx(xi-1)𝛥x +O((𝛥x)2)} | |
| (左辺) | =F(xN) -F(x0)=F(xb) -F(xa) | |
| (右辺) | = N∑i=1 {f(xi-1)𝛥x+O((𝛥x)2)} | |
右辺は、幅 𝛥x, 高さ f(xi-1) のタンザクの面積の和になっている。𝛥x → 0 極限を取れば、 | F(xb) -F(xa) | = lim𝛥x → 0 N∑i=1 f(xi-1)𝛥x +O(𝛥x) | |
| | = lim𝛥x → 0 N∑i=1 f(xi-1)𝛥x | |
| | ≡ xb∫xaf(x) dx | |
積分 xb∫xaf(x) dx が、区間 [xa, xb] で、 f(x) と x 軸で囲まれた部分の面積を与えること、そして、これが原始関数の終点と始点の差に等しいことが分かった。 一行目が O((𝛥x)2) ではなくて、O(𝛥x) となっているのは、 | N∑i=1 O((𝛥x)2) | =N O((𝛥x)2) =xb-xa 𝛥x O((𝛥x)2) | |
| | = O(𝛥x) | |
だから。 タンザクの和でよいことの確認 どうもタンザクと f(x) の間の白抜けの部分が気になる、という人もいるだろう。微分は接線の傾きだったから、これを f(x) に適用してやったら、もう少し、精度があがるのではなかろうか? 各点 xi において接線をひき、タンザクの上にできた三角形の面積を加えてやったらどうだろう。xi-1- xi 間にできる三角形の面積は、1
2df
dx(xi-1)(𝛥x)2となる。xi-2f(x)xi+1xixi-11 2df dx(xi-1)(𝛥x)2 |
𝛥x→0 の極限の下、これらを全て加えたときの大きさを評価してみよう。 各三角形の面積の絶対値の和を考えてみる。 | lim 𝛥x→0N∑i=1a1 2df dx(xi-1)a(𝛥x)2 | ⩽lim 𝛥x→0maxa1 2df dx(xj)aN(𝛥x)2 | |
| | =lim 𝛥x→0maxa1 2df dx(xi)axb-xa 𝛥x(𝛥x)2 | |
| | =lim 𝛥x→0maxa1 2df dx(xj)a(xb-xa) 𝛥x | |
| | =0 | |
よって、 𝛥x→0 の極限の下、各点で引いた接線とタンザクの上辺からなる三角形からの寄与は 0 となる。 Taylor 展開で軽くふれたように、各点 xi で多項式展開をしてやれば、よりもとの関数 f(x) に形は近づくが、やはり 𝛥x→0 の極限の下、その面積の和をとれば、 𝛥x より高次の項の寄与は 0 となる。 こうして、面積を考えるにはタンザクの面積の和で十分なことが分かった。 積分については、こんなイメージ(微分の逆、タンザクの和)を持っていれば、工学の分野では通常、困ることはない。 計算をする上での公式として、関数の積の微分に対応して部分積分、合成関数の微分に対応して置換積分(変数変換)がある。どちらもよく使うので、ここでまとめておく。 部分積分 関数 f(x),g(x), f の原始関数 F(x) が与えられているとき、 関数の積 fg の積分を求めたい。関数の積 F(x)g(x) の微分は、 d
dx(Fg) =fg +F dg
dx移項して、区間 [xa ,xb] で積分すると、 | fg | =d dx(Fg) - F dg dx | |
| xb∫xafg dx | =xb∫xad dx(Fg) dx - xb∫xaF dg dx dx | |
| | =[Fg]xbxa- xb∫xaF dg dx dx | |
求めたい関数の一部について、その原始関数が分かっているとき、全体の関数の積分が求まることがある、ということ。この手法を部分積分と呼ぶ。 ex) 多項式と三角関数の積 | 𝜋 2∫0x cos x dx | =𝜋 2∫0d dx(x sin x) dx - 𝜋 2∫0sin x dx dx dx | |
| | =[x sin x]𝜋 20 + [cos x]𝜋 20 | |
| | =𝜋 2 -1 | |
置換積分(変数変換) 関数 f(x) の原始関数を F(x) 、 x が t の関数 x(t) で与えられたとき、 dF(x(t))
dt = dF(x)
dx dx(t)
dt =f(x) dx(t)
dt 第一項を t で積分すると、 tb∫tadF(x(t))
dt dt =[ F(x(t)) ]tbta=F(x(tb))-F(x(ta))となるが、これは、 xb= x(tb), xa=x(ta) として、xb∫xaf(x) dxに他ならない。 第三項を t で積分すると、 tb∫taf(x) dx(t)
dt dt両者を等しいとおいて、 xb∫xaf(x) dx =tb∫taf(x) dx(t)
dt dt これを、積分変数が x から t に変ったから、変数変換、もしくは置換積分という。 ex) 1∫01-x2 dx を置換積分で求める。x = cos 𝜃 と変換すると、 dx
d𝜃 =-sin 𝜃 ax : 0 ⟶1𝜃 :𝜋
2 ⟶0となるから、 | 1∫01-x2 dx | =0∫𝜋 2 1-cos2 𝜃 (-sin 𝜃) d𝜃 | |
| | = 𝜋 2∫0 sin2 𝜃 d𝜃 =𝜋 2∫0 1 2(1 -cos 2𝜃 ) d𝜃 | |
| | = [ 1 2 𝜃- 1 4 sin 2𝜃 ]𝜋 20 =𝜋 4 | |
微分/積分とあわせて数学の道具として押さえておきたいのがベクトル。高校数学の復習はこれが最後。