関数の積分

今回の授業では一次元の関数の積分を考えます。

復習

Wikipediaの定積分の定義を引用し、積分の概念を復習します。

実数直線上の区間 $[a, b]$ 上で定義される実変数 $x$ の関数 $f$ の定積分 $$\int_a^b f(x) dx$$ は、略式的に言えば $f$ のグラフと $x$軸、および $x = a$ と $x = b$ で囲まれる $xy$平面の領域の符号付面積として定義される。

定積分のイメージ

現代的な積分の概念はリーマン積分、ルベーグ積分などの考え方があります。今回の授業はリーマン積分の定義を考察します。

1. 積分の概念

始めに、$x = 0$ から $x = 1$ までの間で $f(x)=\sqrt{x}+1$ によって与えられる曲線$y = f (x)$ を考え、 0 から 1 までの区間において $f$ の下にある領域の面積はいくらか という問いを立てて、この(未知の)面積を$f$の積分と呼んで

$$\int_{0}^{1}{\sqrt {x}}+1~ dx $$

で書き表す。

積分の例

ニュートンとライプニッツが提案した微分積分学の基本定理(17世紀)によりますと、上記の積分を$f(x)$の原始関数$F(x)=\frac{2}{3}x^{3/2}+x$を利用することで算出できます。

$$\int_{0}^{1}{\sqrt {x}}+1 ~ dx = F(1) - F(0) = \frac{5}{3}$$

微分積分学の基本定理が発見されるまで、積分は微分とは関係ない「面積」という概念で理解されています。

2. 面積の近似計算

$f(x)=\sqrt{x}+1$ が$[0,1]$における積分の近似方法を考えます。

2.1 準備:グラフを描く

まず、曲線$y=f(x)$のグラフを描きます。 <!-- %関数fを定義する function value=f(x) value = sqrt(x)+1; end

% グラフを描くOctaveの関数を定義します。 function draw_f() x=0:0.001:1; y=f(x); plot(x,y,'r-'); hold on %現在グラフの上に新しいグラフを描く(重ねて) grid on %grid を描く plot(0,0) %原点を描く axis([0, 1.2, 0, 2.2], "square"); %x軸の範囲を[0,1.2]、y軸の範囲を[0,2.2]にする。 end -->

2.2 準備:色で塗りつぶす

fill命令によって、長方形領域を緑色で塗りつぶします。

塗りつぶしの方法

fillを使って、幾つかの点が囲んでいる範囲を色で塗りつぶします。

使い方: fill(x座標のリスト, y座標のリスト, 色) <!-- x1=0; x2=1; y1=f(x1); y2=f(x2);

%長方形の4の点をリストします。 p1 = [x1, 0]; %左下 p2 = [x2, 0]; %右下 p3 = [x2,y2]; %右上 p4 = [x1,y2]; %左上

x_list = [p1(1),p2(1),p3(1),p4(1)]; %x座標のリスト y_list = [p1(2),p2(2),p3(2),p4(2)]; %y座標のリスト

fill(x_list, y_list, 'g') %緑色で長方形を塗りつぶします hold on draw_f() -->

上記のコードをコンパクトにするために、ブロックを塗りつぶす関数を定義します。

積分範囲を[0.0.5],[0.5,1]に分けて、ブロックを描きます。

2.3 面積の計算法

ブロックの面積によって、積分値の上界と下界を算出することができます。

[0,1]の分割点x=0,0.5,1におけるブロックの面積を検討してみます。このとき、各小区間の幅は$h=0.5$です。

演習1

分割点がx=0,0.5,1の場合、 青色のブロックの面積S1と緑色のブロックの面積S2を計算しなさい。

演習2

[0,1]の10等分割を考えます。積分領域をカーバーする緑のブロックと、積分領域に囲まれる青色のブロックを描いてみます。

描いた緑色のブロックの面積と青色の面積を計算しなさい。それぞれは積分値の上界と下界となります。

演習3 (オプション)

積分値の上界(S2)と下界(S1)の差を0.01以下に抑えるように、[0,1]の分割点を調整して、S1,S2を計算してください。即ち、計算されるS1,S2については,S2-S1<0.01を満たすことが要求されています。

3. 一般的な関数の積分

演習5 (オプション)

この授業で紹介した方法を利用して、以下の関数が$[0,1]$における積分の近似値を計算してみてください。 分割の点で関数の値が発散する場合、分割の小区間の中点を使って計算してください。

注意:

関数の積分の上界と下界を得るために、関数の単調性は大切です。以下3番目と4番目の関数について、 分割の各部分区間$[x_i,x_{i+1}]$の上に関数の単調性を確保するために、区間の分割に工夫が必要です。

関数の単調性を調べるのは難しい場合、与えられる分割におけるリーマン和を計算して、リーマン和が収束しているかどうかを考察してください。

$$f_1(x)=\frac{1}{\sqrt{x}}$$$$f_2(x)=\frac{1}{x}$$$$f_3(x)=x\sin \frac{1}{x}$$$$f_4(x)=\sin \frac{1}{x}$$

リーマン和

分割$x_0=0 < x_1 <x_2 < \cdots < x_n=1$に対して、$t_i$を$[x_i,x_{i+1}]$の中に存在する点とします。たとえば、$t_i=0.5*(x_i+x_{i+1})$。この場合、リーマン和は以下のように計算できます。 $$ \sum^{n-1}_{i=0} f(t_i) (x_{i+1} - x_{i} ) $$

(参考:https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%83%9E%E3%83%B3%E7%A9%8D%E5%88%86

参考

積分の厳密な定義(リーマン積分)

微分積分の授業で学んだリーマン積分は積分を厳密に定義します。その詳細は教科書またはWikipediaを参考してください。