• 検索結果がありません。

C:/大宮司先生原稿/数値積分数値微分.dvi

N/A
N/A
Protected

Academic year: 2021

シェア "C:/大宮司先生原稿/数値積分数値微分.dvi"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

数値計算では,微分積分は,通常 離散的に与えられたデータを基に数値的に行われる.まず簡単な例を 示そう.関数

u

(

x

)

は,図

6.1

に示すように,等間隔の計算点

:::  x

;1

 x

0

 x

1

 x

2

 :::

における関数値

:::  u

;1

 u

0

 u

1

 u

2

 :::

で離散的

(discrete)

に与えられるものとする.

u

i

=

u

(

x

i

)



(

i

= 0



1



2

 :::

)

, 計算点の間隔

x

i

+1 ;

x

i

=

h

= const

:

とする.これらの関数値を直線で結ぶことにすれば,区間

x

0

< x < x

1 内の点

x

における

u

(

x

)

の値は

1

次補間式

u

(

x

) =

x

1 ;

x

h u

0

+

x

;

x

0

h u

1

+ 12(

x

;

x

0

)(

x

;

x

1

)

u

00 0

+

 から求められ,また微分値と点

x

0から

x

までの積分値はこの式を微分または積分した次式から求められる.

u

0

(

x

) =

u

1 ;

u

0

h

+ 12(2

x

;

x

0 ;

x

1

)

u

00 0

+

 Z

x

x

0

u

(

x

)

dx

=

x

;

x

0

2

;

u

0

+

u

(

x

)

 ;

(

x

;

x

0

)

3

12

u

00 0

+

 数値微分の式は明らかで,また数値積分の式も後述の台形則より明らかである.この数値微分と数値積分 の式は,任意の点

x

に対するものであるが,通常用いられるものは次の計算点

x

=

x

0

 x

1に対するもので ある.

u

0 0

=

u

0 1

=

u

1 ;

u

0

h

+ O(

h

)



Z

x

1

x

0

u

(

x

)

dx

= 12

h

(

u

0

+

u

1

) + O(

h

3

)

これらの式は,

補間,微分,積分の厳密値

]=

離散近似式

]+

打切り誤差

]

という形で表されており,右辺 の最後の部分は打切り誤差

(truncation error)

と呼ばれ次のようにして求められる.すなわちこれらの式の 図

6.1:

離散関数の微分と積分

1

(2)

両辺に点

x

0まわりの

Taylor

展開

u

(

x

) =

u

0

+(

x

;

x

0

)

u

0 0

+ 12!(

x

;

x

0

)

2

u

00 0

+ 13!(

x

;

x

0

)

3

u

00 0 0

+



u

0

(

x

) =

u

0 0

+(

x

;

x

0

)

u

00 0

+ 12!(

x

;

x

0

)

2

u

000 0

+

 Z

x

x

0

u

(

x

)

dx

= (

x

;

x

0

)

u

0

+ 12!(

x

;

x

0

)

2

u

0 0

+ 13!(

x

;

x

0

)

3

u

00 0

+ 14!(

x

;

x

0

)

4

u

00 0 0

+



u

i

=

u

0

+

ihu

0 0

+ 12!(

ih

)

2

u

00 0

+ 13!(

ih

)

3

u

000 0

+



(

i

= 1



2

 :::

)

を代入すれば ,

1

次補間とそれに関連する式では

u

0

 u

0 0を含む項は両辺同じになり,それよりも高次の項 が打切り誤差になる.上式では

u

00 0の項のみ残されそれ以降は省略されている.打切り誤差は,離散近似式 を,ある項で打切った

Taylor

展開式を基に導いたために生じた誤差と解釈することができ,名称もこれに 由来する.打切り誤差の項に含まれる

x

;

x

0

 x

;

x

1などは計算点の間隔

h

の大きさの小さな値で,打切り 誤差はそれらの次数により

O(

h

2

), O(

h

3

)

のように表され,その離散近似式はそれぞれ

2

次精度の式,

3

次 精度の式と言われる. 次に離散的に与えられた3つの関数値

u

;1

 u

0

 u

1を通る放物線を考えれば ,区間

x

;1

< x < x

1内の点

x

における

u

(

x

)

の値は

2

次補間式

u

(

x

) = 1

h

2 n

1

2(

x

;

x

0

)(

x

;

x

1

)

u

;1 ;

(

x

;

x

1

)(

x

;

x

;1

)

u

0

+ 12(

x

;

x

;1

)(

x

;

x

0

)

u

1 o

+ 13!(

x

;

x

;1

)(

x

;

x

0

)(

x

;

x

1

)

u

000 0

+

 から求められ,また微分値と積分値は次式から求められる.

u

0

(

x

) = 1

2

h

2 

(2

x

;

x

0 ;

x

1

)

u

;1 ;

2(2

x

;

x

;1 ;

x

1

)

u

0

+(2

x

;

x

;1 ;

x

0

)

u

1 

+ 13!



(

x

;

x

0

)(

x

;

x

1

)+(

x

;

x

1

)(

x

;

x

;1

)+(

x

;

x

;1

)(

x

;

x

0

)



u

000 0

+

 Z

x

x

;1

u

(

x

)

dx

= (

x

;

x

;1

)

2

12

h

2 

(2

x

;

x

0 ;

x

1

)(

u

;1

+

u

1

)

;

4(

x

;

x

1 ;

h

)

u

0  ;

(

x

;

x

;1

)(

x

;

x

1

)

2

h

u

0

+ 14!(

x

;

x

;1

)

2

(

x

;

x

1

)

2

u

000 0

+

 また点

x

が計算点の場合には次のようになる.

u

0 0

= 12

h

(

;

u

;1

+

u

1

) + O(

h

2

)

u

0 1

= 12

h

(

u

;1 ;

4

u

0

+3

u

1

) + O(

h

2

)

Z 1 ;1

u

(

x

)

dx

= 13

h

(

u

;1

+4

u

0

+

u

1

) + O(

h

4

)

離散近似式は一般に微分すると精度が下がり,積分すると精度が上がる.補間式の誤差は計算点に近付く につれ減少し計算点ではゼロになる.また数値積分の誤差は,上記のものは

1

区間のもので,多区間では

1

次低くなる.以下本章には,第

1

節と第

2

節に数値積分,第

3

節と第

4

節に数値微分について述べる.第

1

節と第

3

節には多項式近似を基にした通常使われている公式を説明する.また第

2

節と第

4

節には前

2

章 に述べた補間式ないし近似関数を積分または微分することによって得られたものを示す.その多くは,普通 の多項式近似を基にした公式が適用できないか,あるいは適用しても良い結果が期待できない場合に用い られるものである.

(3)

6.1

数値積分

数値積分

(numerical integration, numerical quadrature)

は,定積分

Z

b

a

u

(

x

)

dx

を数値的に行うものである.被積分関数

u

(

x

)

は有界,一価で,適当に滑らかに繋ぐことのできる点列

u

i



(

i

=

0



1



2

 :::  n

)

として離散的

(discrete)

に与えられ,また積分区間

a b

]

は通常いくつかの小区間に分割さ れ,各区間ごとに数値積分が行われる.関数

u

(

x

)

が不連続性1 を持つ場合には,区間の接点に不連続点が 来るように積分区間を分割すべきである.ここでは始めに不等間隔計算点にも適用できる未定係数法によ る数値積分について述べ,次に等間隔の場合にのみ適用できる

Newton-Cotes

求積法について述べる.未 定係数法ではその都度 連立

1

次方程式を解かなければならないが,等間隔の場合にはこの連立

1

次方程式 の係数行列と定数ベクトルは既知になり,これを解けば

Newton-Cotes

求積法の公式が導かれる.最後に

Gauss-Legendre

求積法あるいは単に

Gauss

法と呼ばれる方法について述べる.この方法では

Legendre

項式のゼロ点の

u

i

を用いなければならなが,少ない計算点で高精度の結果を得ることができる.

6.1.1

未定係数法による数値積分

関数

u

(

x

)

u

0

 u

1

 :::  u

n

で与えられるものとする.

u

i

=

u

(

x

i

)

x

0

=

a < x

1

<



< x

n

=

b

.これ らの

n

+1

個のデータを通る

n

次多項式

p

n

(

x

)

は一意的に定まる.未定係数法は上記の定積分を多項式を積 分することによって近似的に求めるものである.一般に

n

次多項式は次のよう書くことができる.

p

n

(

x

) =

a

0

+

a

1

x

+

a

2

x

2

+



+

a

n

x

n

6.2

は,この多項式の定積分すなわち

n

次曲線の下の面積が,高さ

u

0

 u

1

 :::  u

n

にそれぞれ適切な幅

A

0

 A

1

 :::  A

n

を付与し ,長方形の面積の和で表せることを示している.したがって次のように置くこと ができる. Z

b

a

p

n

(

x

)

dx

=

A

0

p

n

(

x

0

)+

A

1

p

n

(

x

1

)+



+

A

n

p

n

(

x

n

)

(6.1)

この式が,常に成立するためには,すなわち多項式の未定係数

a

0

 a

1

 :::  a

n

の値によらず成立するため には,

n

+1

個の未定係数

a

0

 a

1

 :::  a

n

にかかる両辺の係数がそれぞれ等しくなければならない.これよ 図

6.2:

未定係数法による数値積分 1 不連続性

(discontinuities)

とは関数自身またはその

1 2

:::階微分が不連続になることであるが,離散データに対してはあい まいに使われる.

(4)

り次の

n

+1

個の条件式が導かれる. Z

b

a

dx

=

A

0

+

A

1

+



+

A

n

Z

b

a

xdx

=

A

0

x

0

+

A

1

x

1

+



+

A

n

x

n

(6.2)

 Z

b

a

x

n

dx

=

A

0

x

n

0

+

A

1

x

n

1

+



+

A

n

x

nn

ただし Z

b

a

dx

=

b

;

a

Z

b

a

xdx

=

b

2 ;

a

2

2







Z

b

a

x

n

dx

=

b

n

+1 ;

a

n

+1

n

+1

である.幅

A

0

 A

1





 A

n

は,式

(6.2)

を書換えた次の連立

1

次方程式から求められる. 0 B B B B @

1 1



1

x

0

x

1 

x

n

: :: :: : :: : :: :: : :: : :

x

n

0

x

n

1 

x

nn

1 C C C C A 0 B B B B @

A

0

A

1

...

A

n

1 C C C C A

=

0 B B B B @

b

;

a

(

b

2 ;

a

2

)

=

2

...

(

b

n

+1 ;

a

n

+1

)

=

(

n

+1)

1 C C C C A

(6.3)

この方程式は係数行列が

Vandermonde

の行列式で,

x

0

 x

1

 :::  x

n

の値がみな異なるから,

A

0

 A

1

 :::  A

n

の値は一意的に決定できる.数値積分の値は,式

(6.3)

から求めた

A

0

 A

1

 :::  A

n

を次式に代入すること によって求められる. Z

b

a

u

(

x

)

dx

=

A

0

u

0

+

A

1

u

1

+



+

A

n

u

n

(6.4)

次にこのようにして求めた積分値が

n

次多項式

p

n

(

x

)

a

から

b

まで積分したものであること,すな わち図

6.2

に示す

u

0

 u

1

 :::  u

n

を通る

n

次曲線の下の面積であることを示す.式

(6.4)

の右辺は,

u

0

=

p

n

(

x

0

)

 u

1

=

p

n

(

x

1

)





 u

n

=

p

n

(

x

n

)

なる関係,

p

n

(

x

i

) =

a

0

+

a

1

(

x

i

)+



+

a

n

(

x

i

) (

i

= 0



1

 :::  n

)

な る関係,式

(6.2)

を順に用い書換えていけば Z

b

a

u

(

x

)

dx

=

A

0

p

n

(

x

0

)+

A

1

p

n

(

x

1

)+



+

A

n

p

n

(

x

n

)

=

a

0

(

A

0

+

A

1

+



+

A

n

) +

a

1

(

A

0

x

0

+

A

1

x

1

+



+

A

n

x

n

) +



+

a

n

(

A

0

x

n

0

+

A

1

x

n

1

+



+

A

n

x

nn

)

=

a

0 Z

b

a

dx

+

a

1 Z

b

a

xdx

+



+

a

n

Z

b

a

x

n

dx

=

Z

b

a

p

n

(

x

)

dx

となるから明らかである. 上述の数値積分は通常 全積分区間に対してではなく,

n

= 2



4

程度の小区間に対し適用されるもので ある.この方法は計算点が不等間隔の場合に用いられ,等間隔の場合は次節の方法が用いられる.次に参考 までに

A

i

を求める簡単なプログラムを示す.

(5)

SUBROUTINE NUMINT(x,u,if,s) DIMENSION x(0:if),u(0:if),A(0:4),x1(0:4) REAL(8) v(5,6),wa(6) w=x(if)-x(0) FORALL(i=0:if)x1(i)=(x(i)-x(0))/w DO i=1,5 v(i,6)=1./FLOAT(i) IF(i==1)THEN FORALL(j=1:5)v(1,j)=1. ELSE FORALL(j=1:5)v(i,j)=x1(j-1)*v(i-1,j) ENDIF ENDDO det=1. e=0. CALL GAUSS(v,wa,5,6,det,e) FORALL(i=0:if)A(i)=w*v(i+1,6) s=0. DO i=0,if s=s+A(i)*u(i) ENDDO ENDSUBROUTINE

! Solution of simultaneous linear equations by Gaussian elimination SUBROUTINE GAUSS(a,wa,n,n1,det,e)

REAL(8) a(n,n1),wa(n1) det=1.

e=MAX(e,1.E-5)

cycle_1: DO k=1,n l=k

w=a(k,k) IF(ABS(w)>e) GOTO 11

l=k 12 l=l+1 IF(l>n)STOP 5555

w=a(l,k) IF(ABS(w)<=e) GOTO 12

FORALL(j=k:n1)

wa(j)=a(k,j) a(k,j)=a(l,j) a(l,j)=wa(j) ENDFORALL det=-det 11 det=w*det FORALL(j=k+1:n1)a(k,j)=a(k,j)/w IF(k==n)CYCLE cycle_1 FORALL(i=k+1:n,j=k+1:n1)a(i,j)=a(i,j)-a(i,k)*a(k,j) ENDDO cycle_1 DO k=n,2,-1 FORALL(i=1:k-1)a(i,n1)=a(i,n1)-a(i,k)*a(k,n1) ENDDO END このプログラムは,図

6.2

を描くために作られたものである.計算を簡単にするために,始めに

a

=

x

0 !

0

 b

=

x

4 !

1

と置いている.配列x1はその

0

から

1

までの新しい座標である.計算は桁落ちしないように

倍精度で行っている.sは数値積分.GAUSSは連立

1

次方程式を

Gauss

消去法で解くサブルーチンで,a,v

は連立

1

次方程式の係数行列と右辺!解を並べて記憶する配列.n1=n+1.なおwaは行の入れ替えに用い

(6)

6.1.2 Newton-Cotes

求積法

上述の未定係数法による数値積分における係数

A

0

 A

1

 :::  A

n

は等間隔計算点の場合には既知になる.

A

i

=

ha

i

(

i

= 0



1

 :::  n

)

h

は計算点の間隔,



a

i

は次表のようになる.

n



a

0

a

1

a

2

a

3

a

4

a

5

a

6

1

1/2

1

1

台 形 公 式

2

1/3

1

4

1

Simpson 1/3

公式

3

3/8

1

3

3

1

Simpson 3/8

公式

4 2/45

7 32 12 32 7

5 5/288 19 75 50 50 75 19

6 1/140 41 216 27 272 27 216 41

(6/20) (1 5

1

6

1

5 1) (Weddle

公式

)

Newton-Cotes

求積法では,通常 積分区間

a b

]

は多項式の次数

n

の整数倍

N

に等分割される.計算点の 間隔

h

= (

b

;

a

)

=N

x

i

=

x

0

+

ih

(

i

= 0



1



2

 :::  N

)

x

0

=

a x

N

=

b

.この方法は,関数

u

i

=

u

(

x

i

)

の値が既知のときに利用できる. 最も簡単な

n

= 1

の台形公式

(

梯形則

trapezoidal law)

の場合には,全区間にわたる積分は次のように なる. Z

x

N

x

0

u

(

x

)

dx

=

h

;

1

2

u

0

+

u

1

+

u

2

+



+

u

N

;1

+ 12

u

N

 また

n

= 2

Simpson 1/3

公式の場合には,例えば

N

= 7

に対しては

Simpson 3/8

公式を補い,全区間 にわたる積分は次のようになる. Z

x

N

x

0

u

(

x

)

dx

= 13

h

(

u

0

+4

u

1

+2

u

2

+4

u

3

+

u

4

) + 38

h

(

u

4

+3

u

5

+3

u

6

+

u

7

)

次に

Newton-Cotes

求積法の打切り誤差

(truncation error)

について,

Simpson

1/3

公式を例に説明す る.関数

u

(

x

)

Taylor

展開

u

(

x

) =

u

0

+(

x

;

x

0

)

u

0 0

+ 12!(

x

;

x

0

)

2

u

00 0

+ 13!(

x

;

x

0

)

3

u

00 0 0

+ 14!(

x

;

x

0

)

4

u

(4) 0

+

 を区間

x

0

 x

2

]

で積分すれば次式が得られる. Z

x

2

x

0

u

(

x

)

dx

= 2

hu

0

+2

h

2

u

0 0

+43

h

3

u

00 0

+23

h

4

u

000 0

+ 415

h

5

u

(4) 0

+

 この式は厳密なものである.他方 区間

x

0

 x

2

]

Simpson 1/3

公式を

Taylor

展開すれば次式が得られる.

1

3

h

(

u

0

+4

u

1

+

u

2

) = 2

hu

0

+2

h

2

u

0 0

+ 43

h

3

u

00 0

+23

h

4

u

000 0

+ 518

h

5

u

(4) 0

+

 これら2つの式を比較すれば Z

x

2

x

0

u

(

x

)

dx

= 13

h

(

u

0

+4

u

1

+

u

2

)

;

1

90

h

5

u

(4) この式の最後の項は1つの区間の

Simpson 1/3

公式の打切り誤差である.全区間にわたる

Simpson 1/3

公 式の打切り誤差はこの誤差に区間の数

N

= (

b

;

a

)

=

2

h

をかけたもので次のようになる.

e

t

=

;

b

;

a

180

h

4

u

(4)

(7)

Simpson 1/3

公式は

4

次精度で,その打切り誤差は

O(

h

4

)

である. 次表は

Newton-Cotes

求積法の打切り誤差をまとめて示したものである.

n

1

2

3

4

5

;

e

t

b

;

a

12

h

2

u

00

b

;

a

180

h

4

u

(4)

b

;

a

80

h

4

u

(4)

2(

b

;

a

)

945

h

6

u

(6)

55(

b

;

a

)

12096

h

6

u

(6)

Taylor

展開を基にしたこのような議論は,一般に 与えられたデータが十分滑らかで

Taylor

級数が収束する ことを前提にしている2 .上の表は次数

n

が高く偶数のものが優れていることを示している.しかしながら これは あくまで与えられたデータが十分滑らかな場合のことで,与えられたデータが不連続性を持つ場合 ゆらぎを含む場合には,高次多項式は大きく波打つ虞があり,また

n

が偶数の

Newton-Cotes

求積法は係数

A

i

の変化が大きいので不連続性やゆらぎに敏感で大きい誤差をまねく虞がある.与えられたデータが十分 滑らかでない場合には,上表の形式的精度とは反対に,実質的精度は低次で

n

奇数のものの方が良いこと になる. 問  滑らかな周期関数

u

(

x

)

1

周期にわたる積分を

Newton-Cotes

求積法で求めよ.

1

周期を偶数

N

に等分割し

Simpson 1/3

公式を用いれば次式が得られる. Z

x

N

x

0

u

(

x

)

dx

= 13

h

(2

u

0

+4

u

1

+2

u

2

+4

u

3

+2

u

4

+



+2

u

N

;2

+4

u

N

;1

)

この式では偶数番目の点で

Simpson 1/3

公式を継ぎ 合わせているが,周期関数に対しては奇数番目の点で 継ぎ 合わせることも可能で,その式は次のようになる. Z

x

N

x

0

u

(

x

)

dx

= 13

h

(2

u

1

+4

u

2

+2

u

3

+4

u

4

+2

u

5

+



+2

u

N

;1

+4

u

N

)

これら2つの式を平均すれば次式が得られる. Z

x

N

x

0

u

(

x

)

dx

=

h

(

u

0

+

u

1

+

u

2

+

u

3

+



+

u

N

;1

)

これは台形公式のものと同じである.周期関数の

1

周期にわたる積分では,

n

=

n

の高次の求積法を用い る式は継ぎ 合わせる点を変えれば

n

個得られ,それらを平均すれば最も高精度かつ妥当な積分の式が得ら れると考えられる.しかしこのようにして得られた式は,実は台形公式のものと全く同じになる.周期関数 の

1

周期にわたる積分では,最も簡単な台形公式を用いることによって最良の結果が得られる.

6.1.3 Gauss-Legendre

求積法

区間

x

0

 x

1

]

における台形公式では2つのデータ

u

0と

u

1を必要としたが,1つのデータ

u

(

x

1

=

2

)

に区間 の幅

h

をかけても同程度の結果が得られる.また区間

x

0

 x

2

]

における

Simpson 1/3

公式では3つのデー タ

u

0

 u

1

 u

2を必要としたが ,2つのデータでも選ばれた点のものを用いれば 更に良い結果が得られる.

Gauss-Legendre

求積法ないしは

Gauss

積分と呼ばれる方法は,

n

+ 1

Legendre

多項式の

n

+ 1

個の零点

のデータを用いることにより,

2

n

+1

次多項式相当の高精度の結果を得る方法である.この方法は,少ない

計算量で高精度の結果が得られるので,数多くの数値積分を行わなければならない有限要素法で多用され ている.またこの方法は1つのデータを得るのに膨大な計算を要する場合にも適している.

2

滑らか

(smooth)

とは解析的すなわち関数自身とその無限階までの微分がすべて連続であること,十分滑らか

(suciently smooth)

とは必要な階数までの微分が連続であることをいうが,離散的データに対してはあいまいに使われる.

(8)

Legendre

多項式の零点の値をそのまま用いられるように,積分区間を

;

1



1]

に取る.区間

a b

]

の積分 は,予め変数変換

~

x

=

a

+

2 +

b

b

;

a

2

x

を行い,区間

;

1



1]

の積分に直される. Z

b

a

u

~

(~

x

)

d

x

~

=

b

;

a

2

Z 1 ;1

u

(

x

)

dx

前述のように

n

+1

個のデータ

u

(

x

i

)



(

i

= 0



1

 :::  n

)

を通る

n

次多項式は一意的に決まる.またこれ らのデータを通る高高

2

n

+1

次多項式

p

2

n

+1

(

x

)

は一般に次のように表すことができる.

p

2

n

+1

(

x

) =

p

n

(

x

) +

a

(

x

;

x

0

)(

x

;

x

1

)



(

x

;

x

n

)

q

n

(

x

)

(6.5)

ただし

a

は任意定数,

q

n

(

x

)

は高高

n

次の多項式である.この式を区間

;

1



1]

で積分すれば 次式が得ら れる. Z 1 ;1

p

2

n

+1

(

x

)

dx

=

Z 1 ;1

p

n

(

x

)

dx

+

Z 1 ;1

a

(

x

;

x

0

)(

x

;

x

1

)



(

x

;

x

n

)

q

n

(

x

)

dx

(6.6)

ここで

x

0

 x

1

 :::  x

n

n

+1

次の

Legendre

多項式

P

n

+1

(

x

)

の零点に取り,また

a

a

(

x

;

x

0

)(

x

;

x

1

)



(

x

;

x

n

) =

P

n

+1

(

x

)

になるように置く.このとき式

(6.6)

の右辺第

1

項は,式

(6.4)

で書換え,更に式

(6.5)

から得られる関係

p

n

(

x

k

) =

p

2

n

+1

(

x

k

)



(

k

= 0



1

 :::  n

)

を用いれば次のようになる. Z 1 ;1

p

n

(

x

)

dx

=

X

n

i

=0

A

i

p

2

n

+1

(

x

i

)

また式

(6.6)

の右辺第

2

項は,

Legendre

多項式に関する公式 Z 1 ;1

x

r

P

m

(

x

)

dx

= 0

(

r

= 0



1

 :::  m

;

1)

を用いればゼロになる.これより次の

Gauss-Legendre

求積法の式が導かれる. Z 1 ;1

p

2

n

+1

(

x

)

dx

=

n

X

i

=0

A

i

p

2

n

+1

(

x

i

)

(6.7)

ただし

x

i

n

+1

Legendre

多項式の零点,また

A

i

は式

(6.3)

を満足するように決定された係数で,

x

i

A

i

の値は次表のようになる.

n

x

i

A

i

0

0

2.0

1

.5773502

1.0

2

0

.7745966

.8888888 .5555555

3

.3399810

.8611363

.6521452 .3478548

4

0

.5384693

.9061798 .5688888 .4786288 .2369268

5

.2386191

.6612093

.9324695 .4679140 .3607616 .1713244

Gauss-Legendre

求積法による区間

a b

]

の積分の打切り誤差は次のように見積もられる.

e

t

= (

b

;

a

)

2

n

+3

2

n

+ 3

(

n

+ 1)!

(

n

+ 2)(

n

+ 3)



(2

n

+ 2)

2

u

(2

n

+2)

(2

n

+ 2)!

(6.8)

(9)

問  次の積分の値を上述の求積法で計算し精度を比較せよ.

I

=

Z 2 1

dx

x

2

= 0

:

5

ここには

3

個,

5

個,

7

個のデータを用いる

Simpson 1/3

公式,

4

個のデータを用いる

Simpson 3/8

公 式,

3

個のデータを用いる

n

= 2

Gauss-Legendre

求積法などによる積分の結果を示す.   求  積  法 データ数 積分値 打切り誤差

trapezoidal (n=1)

7

.50115

+

:

00115

Simpson 1/3 (n=2)

3

.50463

+

:

00463

5

.50042

+

:

00042

7

.50009

+

:

00009

Simpson 3/8 (n=3)

4

.50219

+

:

00219

7

.49695

;

:

00305

Newton-Cotes (n=4)

5

.50014

+

:

00014

Newton-Cotes (n=6)

7

.49556

;

:

00444

Gauss-Legendre (n=2)

3

.49988

;

:

00012

Gauss-Legendre (n=3)

4

.49999

;

:

00001

Gauss-Legendre

法による積分は次のように計算される.

I

= 12

Z 1 ;1

dx

(1

:

5+

:

5

x

)

2

= 2

:

55555

(3

:

;

:

77460)

2

+

:

88888

3

:

2

+

:

55555

(3

:

+

:

77460)

2

=

:

49988

この問題の被積分関数は滑らかであるが

x

の減少とともに加速度的に値が増加する.

Simpson 3/8

公式のデー タ数

7

Newton-Cotes

法の

(n=6)

はこれに追従できず誤差が大きくなるものと考えられる.

Gauss-Legendre

法は一般に言われているように確かに少ないデータで高精度の結果が得られている. 6.2

各種補間式に基づく数値積分

前2章には,離散的に与えられたデータ

u

i

=

u

(

x

i

)

を近似する関数

u

(

x

)

を求める方法について述べた. この

u

(

x

)

は一般に積分可能で,これより各種の数値積分の式が導かれる.ここには

Lagrange

補間多項式, 各種のスプライン,または指数関数を用いた補間式に基づく数値積分について述べる.

6.2.1 Lagrange

補間多項式に基づく数値積分

1

節に述べた3つの数値積分は,いずれも

Lagrange

補間多項式の全区間にわたる積分と等価なもので ある.

3

次の

Lagrange

補間多項式は,コンピュータ以前の時代に数表作りに用いられたもので,ある条件下

(10)

では高い精度を示し特にその中央の区間ではそうである.

3

Lagrange

補間多項式は次のように書かれる.

u

(

x

) =

3 X

k

=0

C

3

k

(



)

u

i

;1+

k

(6.9)

C

3 0

(



) =

;



(

h

1 ;



)(

h

1

+

h

2 ;



)

h

0

(

h

0

+

h

1

)(

h

0

+

h

1

+

h

2

)

 C

3 1

(



) = (

h

0

+



)(

h

1 ;



)(

h

1

+

h

2 ;



)

h

0

h

1

(

h

1

+

h

2

)



C

3 2

(



) = (

h

0

+



)



(

h

1

+

h

2 ;



)

(

h

0

+

h

1

)

h

1

h

2



C

3 3

(



) =

;

(

h

0

+



)



(

h

1 ;



)

(

h

0

+

h

1

+

h

2

)(

h

1

+

h

2

)

h

2 ただし



=

x

;

x

i

 h

0

=

x

i

;

x

i

;1

 h

1

=

x

i

+1 ;

x

i

 h

2

=

x

i

+2 ;

x

i

+1である.この式を直接積分しても良い が,ここでは次のように

1

次補間とそれを

3

次にする補正項の和で表した式を積分することにする.

u

(

x

) = (1

;





)

u

i

+

u

i

+1 ;





(1

;





)(1+ 

h

2 ;





)



h

0

(1+ 

h

0

)(1+ 

h

0

+ 

h

2

)

u

i

;1

+





(1

;





)(1

;

h



0

+ 

h

2 ;





)



h

0

(1+ 

h

2

)

u

i

+





(1

;





)( 

h

0 ;

h



2

+



)



h

2

(1+ 

h

0

)

u

i

+1 ;





(1

;





)( 

h

0

+



)



h

2

(1+ 

h

2

)(1+ 

h

0

+ 

h

2

)

u

i

+2 ただし





=

=h

1



h



0

=

h

0

=h

1



h



2

=

h

2

=h

1である.この式を中央の区間

x

i

 x

i

+1

]

に対して積分すれば次 の数値積分の式が得られる. Z

x

i+1

x

i

u

(

x

)

dx

= 12

h

1

(

u

i

+

u

i

+1

) + 112

h

1 h ;

1+2 

h

2



h

0

(1+ 

h

0

)(1+ 

h

0

+ 

h

2

)

u

i

;1

+ 1

;

2 

h

0

+2 

h

2



h

0

(1+ 

h

2

)

u

i

+ 1+2

h



0 ;

2 

h

2



h

2

(1+ 

h

0

)

u

i

+1 ;

1+2 

h

0



h

2

(1+ 

h

2

)(1+ 

h

0

+ 

h

2

)

u

i

+2 i

(6.10a)

同様に,端の区間

x

0

 x

1

]

に対して積分すれば次式が得られる. Z

x

1

x

0

u

(

x

)

dx

= 12

h

0

(

u

0

+

u

1

) + 112

h

0 h ;

3+4 

h

1

+2 

h

2

(1+ 

h

1

)(1+ 

h

1

+ 

h

2

)

u

0

em

+ 1+4

h



1

+2 

h

2



h

1

( 

h

1

+ 

h

2

)

u

1 ;

1+2 

h

1

+2 

h

2



h

1

h



2

(1+ 

h

1

)

u

2

+

1+2 

h

1



h

2

( 

h

1

+ 

h

2

)(1+ 

h

1

+ 

h

2

)

u

3 i

(6.10b)

ただしこの式では





=

=h

0



h



1

=

h

1

=h

0



h



2

=

h

2

=h

0である.特に等間隔

h

0

=

h

1

=

h

2

=

h

の場合には これらの式は次のように簡単になる. Z

x

i+1

x

i

u

(

x

)

dx

=

24(

h

;

u

i

;1

+13

u

i

+13

u

i

+1 ;

u

i

+2

)

(6.11a)

Z

x

1

x

0

u

(

x

)

dx

=

24(9

h

u

0

+19

u

1 ;

5

u

2

+

u

3

)

(6.11b)

また等間隔の場合の全体の数値積分の式は次のようになる. Z

x

N

x

0

u

(

x

)

dx

=

h

n

8

24

u

0

+31

24

u

1

+20

24

u

2

+25

24

u

3

+

u

4

+

u

5

+



+

u

N

;4

+25

24

u

N

;3

+ 20

24

u

N

;2

+ 31

24

u

N

;1

+ 824

u

N

o

(6.11c)

この数値積分の式は中間部分は台形公式のものになり,また両端のところも台形公式に近く係数が大きく変 化しないので,データに含まれるゆらぎの影響は比較的小さい.上記の不等間隔の式は係数があまり簡単 とは言えないが,ゆらぎの影響については同様のことが言える.

(11)

6.2.2

スプラインに基づく数値積分

スプライン法については4.3節に詳しい説明がある.区間

x

i

 x

i

+1

]

3

次スプラインの式は

3

次多項式

S

(

x

) =

a

0

(1

;



)

3

+

a

1



3

+

a

2

(1

;



)+

a

3



(6.12)

の未定係数

a

0

 a

1

 a

2

 a

3を区間の接点の条件

S

(

x

i

)

 S

(

x

i

+1

)

 S

00

(

x

i

)

 S

00

(

x

i

+1

)

から決定することによって 求められ,次のように書くことができる.

S

(

x

) =

x

2

i

6



(1

;



)

3

u

00

i

+



3

u

00

i

+1 

+(1

;



)

u

i

;

x

2

i

6

u

00

i

+



u

i

+1 ;

x

2

i

6

u

00

i

+1

(6.13)

ただし

x

i

=

x

i

+1 ;

x

i

 

= (

x

;

x

i

)

=x

i

である.

3

次スプラインは与えられたデータ

u

i

を通る区分的

3

次式で,接点上で

2

階微分まで連続である.上式は容易に積分することができ,次の区間

x

i

 x

i

+1

]

の数値 積分の式が得られる. Z

x

i+1

x

i

u

(

x

)

dx

+

x

Z 1 0

S

(



)

d

=

x

3

i

24 (

u

00

i

+

u

00

i

+1

)+

x

i

2

n

u

i

;

x

2

i

6

u

00

i

+

u

i

+1 ;

x

2

i

6

u

00

i

+1 o

= 12

x

i

(

u

i

+

u

i

+1

)

;

x

3

i

24 (

u

00

i

+

u

00

i

+1

)

(6.14)

u

00

i

の求め方については4.3.1項参照.この式の右辺第

1

項は台形則,第

2

項はその補正項で,また打ち切 り誤差はテイラー展開をもとに見積もれば ,

x

5

i

u

(4)

i

=

5!

となる. 指数スプラインは,スプライン曲線が不自然に波打つ場合に用いられるもので,その式は

1

次式に単調 な双曲線関数を重ねた

S

(

x

) =

a

0

sinh

;

(1

;



)

x

i

p

i



+

a

1

sinh(

x

i

p

i

)+

a

2

(1

;



)+

a

3



から作られ,次のように書くことができる.

u

(

x

) =

p

2

1

i

sinh

x

i

p

i



sinh

;

(1

;



)

x

i

p

i



u

00

i

+sinh(

x

i

p

i

)

u

00

i

+1 

+ (1

;



)

u

i

;

1

p

2

i

u

00

i

+



u

i

+1 ;

1

p

2

i

u

00

i

+1

(6.15)

ただし

p

i

は,スプライン曲線を梁に譬えたときに梁にかかる張力に相当するもので,各区間

x

i

ごとの区 分的定数値である.この式は容易に積分することができ,当該区間の数値積分の式は次のようになる. Z

x

i+1

x

i

u

(

x

)

dx

+

1

2

x

i

(

u

i

+

u

i

+1

)+

cosh(

x

i

p

i

)

;

1

p

3

i

sinh(

x

i

p

i

)

;

x

i

2

p

2

i

(

u

00

i

+

u

00

i

+1

)

(6.16)

u

00

i

の求め方については4.3.2項参照.なお指数スプラインの打切り誤差を見積もることは無意味である. それはテイラー展開を基に評価すれば ,波打つスプラインを積分したものが高精度で,指数スプラインを 積分したものはスプラインとの差の面積に相当する誤差を含むことになるからである.スプラインに較べ 波打ちを抑えた指数スプラインがより妥当なものとする立場とは相容れない. 実験データのようにばらつきのある多くのデータを区分的

3

次式で近似する最小2乗スプラインは,

3

次 スプラインと同じ式

(6.12)

から出発し ,次式で表される.

u

(

x

) = 16

x

2

i

u

00

i

(1

;



)

3

+16

x

2

i

u

00

i

+1



3

+

a

2

(1

;



)+

a

3



(6.17)

(12)

ただし

a

2

 a

3はこの式が区間

x

i

 x

i

+1

]

で与えられたデータを平均的に満足するよう最小2乗法によって求 められる.

a

2

 a

3

 u

00

j

の求め方にについては4.4.1参照.この式は容易に積分することができ,当該区間の 数値積分の式は次のようになる. Z

x

i+1

x

i

u

(

x

)

dx

+

x

3

i

24 (

u

00

i

+

u

00

i

+1

)+12

x

i

(

a

2

+

a

3

)

(6.18)

この式の誤差も評価し難い.

6.2.3

指数関数を用いた補間式に基づく数値積分

5.1.1項に述べた指数関数を用いた補間式は,十分安定な補間法として知られ,境界に向かって急激に変 化する関数もご く自然に近似できる.この補間式は次のように表される.

u

(

x

)

+

(1

;



)

u

i

+

u

i

+1

+ 1

R

;

1

R



;

1

R

;

1

;





2

u

i

+1

(6.19)

ただし



= (

x

;

x

i

)

=h u

i

+1

=

2

=

u

i

+1 ;

u

i

 

2

u

i

=

u

i

+1

=

2 ;

u

i

;1

=

2

 R

=



2

u

i

+1

=

2

u

i

である.この 式を区間

x

i

 x

i

+1

]

で積分すれば次式が得られる. Z

x

i+1

x

i

u

(

x

)

dx

+

h

;



;



2

2



u

i

+



2

2

u

i

+1

+ 1

R

;

1

R



=

log

R

;



R

;

1

;



2

2



2

u

i

+1 1 0

=

h

2

h

u

i

+

u

i

+1

+ 1

R

;

1

2

log

R

;

R

+1

R

;

1



2

u

i

+1 i

(6.20a)

また区間

x

i

;1

 x

i

]

または

x

i

+1

 x

i

+2

]

で積分すれば次式が得られる. Z

x

i

x

i;1

u

(

x

)

dx

+

h

2

h

3

u

i

;

u

i

+1

+ 1

R

;

1

2

R

log

R

+

R

;

3

R

;

1



2

u

i

+1 i

(6.20b)

Z

x

i+2

x

i+1

u

(

x

)

dx

+

h

2

h ;

u

i

+3

u

i

+1

+ 1

R

;

1

2

R

log

R

;

3

R

;

1

R

;

1



2

u

i

+1 i

(6.20c)

付録

Romberg

この数値積分法はほとんど 使われていないが参考までに簡単に説明する.この方法は連続関数

u

(

x

)

の定 積分を逐次近似計算によって所定の精度まで求めるものである.その計算手順は次のようになる. 第

1

近似計算:第

1

近似値

T

(1) 1 は,積分区間を単一区間

b

;

a

=

h

1として台形公式から求められる.

T

(1) 1

= 12

h

1 f

u

(

x

0

)+

u

(

x

0

+

h

1

)

g

=

I

+ 112(

b

;

a

)

h

2 1

u

00

(

x

0

) + O(

h

3

)

(6.21)

ただし

I

は積分の厳密な値,残りの項は打切り誤差で,この近似値の精度は

O(

h

2

)

である. 第

2

近似計算:第

2

近似値

T

(2) 1 は,積分区間を

2

等分し

(

計算点の間隔

h

2

= (

b

;

a

)

=

2)

同様に台形公式か ら求められる.

T

(2) 1

= 12

h

2 f

u

(

x

0

)+2

u

(

x

0

+

h

2

)+

u

(

x

0

+2

h

2

)

g

=

I

+ 112(

b

;

a

)

h

2 2

u

00

(

x

0

) + O(

h

3

)

(6.22)

T

(1) 1

 T

(2) 1 から打切り誤差の大きさは計算点の間隔の

2

h

2 によることが分かる.今この誤差の大きさが

h

2 に比例するものとし ,

1

次外挿によって

h

2 !

0

に相当するより高い精度の積分値を求めれば

T

(2) 2

= 13(4

T

(2) 1 ;

T

(1) 1

) =

I

+ O(

h

3

)

(6.23)

(13)

この積分値はまた,積分領域にわたって

u

00 がほぼ一様になるものとして,式

(6.21)

(6.22)

から

O(

h

2

)

の打切り誤差の項を消去したものでもある. 第

3

近似計算:第

3

近似値

T

(3) 1 は,積分区間を

2

2

= 4

等分し

(

計算点の間隔

h

3

= (

b

;

a

)

=

4 =

h

2

=

2)

,台形 公式から求められる.

T

(3) 1

= 12

h

3 f

u

(

x

0

)+2

u

(

x

0

+

h

3

)+2

u

(

x

0

+2

h

3

)+2

u

(

x

0

+3

h

3

)+

u

(

x

0

+4

h

3

)

g

(6.24)

=

I

+ 112(

b

;

a

)

h

2 3

u

00

(

x

0

) + O(

h

3

)

また

T

(2) 1

 T

(3) 1 から

1

次外挿によって

h

2 !

0

に相当するより高い精度の積分値

T

(3) 2 を求めれば

T

(3) 2

= 13(4

T

(3) 1 ;

T

(2) 1

) =

I

+ O(

h

3

)

(6.25)

更に

T

(2) 2

 T

(3) 2 から

1

次外挿によって

h

3 !

0

に相当する更に高い精度の積分値

T

(3) 3 を求めれば

T

(3) 3

= 2

3

T

(3) 2 ;

T

(2) 2

2

3 ;

1

=

I

+ O(

h

4

)

(6.26)

k

近似計算:第

k

近似値

T

(

k

) 1 は,積分区間を

2

k

;1 等分し

(

計算点の間隔

h

k

= (

b

;

a

)

=

2

k

;1

=

h

k

;1

=

2)

, 台形公式から求められる.

T

(

k

) 1

= 12

h

k

f

u

(

x

0

)+2

u

(

x

0

+

h

k

)+2

u

(

x

0

+2

h

k

)+



+

u

(

x

0

+2

k

;1

h

k

)

g

(6.27)

=

I

+ 112(

b

;

a

)

h

2

k

u

00

(

x

0

) + O(

h

3

)

また

T

(

k

;1) 1

 T

(

k

) 1 から

1

次外挿によって

h

2 !

0

に相当するより高い精度の積分値

T

(

k

) 2 を求めれば

T

(

k

) 2

= 2

2

T

(

k

) 1 ;

T

(

k

;1) 1

2

2 ;

1

=

I

+ O(

h

3

)

(6.28)

更に

T

(

k

;1) 2

 T

(

k

) 2 から

1

次外挿によって

h

3 !

0

に相当する更に高い精度の積分値

T

(

k

) 3 を求め,同様の

1

次外挿を次々に行い積分値

T

(

k

)

k

までを求める.

T

(

k

)

m

= 2

m

T

(

k

)

m

;1 ;

T

(

k

;1)

m

;1

2

m

;

1

=

I

+ O(

h

m

+1

)

(2

< m



k

)

(6.29)

以上 計算した積分の近似値を表に纏めれば次のようになる. 近 似

m

=1

2

3



k

;

1

k

1

T

(1) 1

2

T

(2) 1

T

(2) 2

3

T

(3) 1

T

(3) 2

T

(3) 3

...

...

...

...

k

;

1

T

(

k

;1) 1

T

(

k

;1) 2

T

(

k

;1) 3 

T

(

k

;1)

k

;1

k

T

(

k

) 1

T

(

k

) 2

T

(

k

) 3 

T

(

k

)

k

;1

T

(

k

)

k

この計算はj

T

(

k

)

k

;

T

(

k

)

k

;1 j

<

のときに収束したものと判定され ,

T

(

k

)

k

が求める積分値になる.ただし

は 十分小さい正数である.

(14)

6.3

差分法と数値微分

差分式

(nite-dierence formulas)

Taylor

級数または多項式をもとに作ることができるが,ここには

後者について述べる.一般に

1

次式からは

1

階の差分式を

1

次精度で作ることができる.

2

次式からは

1

階 の差分式を

2

次精度で,

2

階の差分式を

1

次精度で作ることができる.また

n

次多項式からは

k

階の差分 式を

n

;

k

+1

次精度で作ることができる.ここにはまず不等間隔計算点に対する

Lagrange

補間多項式を不 等間隔計算点に対して定義された差分を導入して簡潔に表現し ,これから任意点における数値微分の式を 導く.それから計算点における数値微分の式を導く.最後に等間隔計算点に対する計算点における数値微分 の式すなわち周知の差分式をまとめて示す.以下には,

1

次のものから順に

4

次のものまで説明する.

6.3.1 1

次式に基づく数値微分

1

次補間公式は

u

(

x

) = (1

;



)

u

i

+

u

i

+1

+ 12



(



;

1)

h

2

u

00

i

+

 のようになる.ただし

h

=

x

i

+1 ;

x

i

 

= (

x

;

x

i

)

=h

,最後の項は打切り誤差である.この式を微分すれば

d=dx

= (1

=h

)

d=d

であるから次式が得られる.

u

0

(

x

) = 1

h

(

;

u

i

+

u

i

+1

) +

;



;

1

2



hu

00

i

+



(6.30)

この式の誤差は一般に

O(

h

)

であるが



= 1

=

2

の時には

O(

h

2

)

になる.なお

2

階微分は

0

になり精度不足 で無意味である.



= 0

の点

x

i



= 1

の点

x

i

+1では

u

0

i

=

u

0

i

+1

= 1

hu

i

+1

=

2

+ O(

h

)

 u

0

i

= 1

hu

i

;1

=

2

+ O(

h

)

(6.31)

ただし後者の式では

h

=

x

i

;

x

i

;1である.

6.3.2 2

次式に基づく数値微分

2

次補間公式は

1

次補間とそれを

2

次にする補正項の和で表せば

u

(

x

) =

u

i

+



u

e

i

+1

=

2

+ 12!



(



;

1)

e



2

u

i

+ 13!(



+

m

;

)



(



;

1)

h

3

u

000

i

+

 のようになる.不等間隔の場合の

1

階と

2

階の差分を次のように定義する. e

u

i

;1

=

2

=

u

i

;

u

i

;1

m

;



e

u

i

+1

=

2

=

u

i

+1 ;

u

i



e

u

i

+3

=

2

=

u

i

+2 ;

u

i

+1

m

+



 e



2

u

i

= 2

m

;

+1(

e

u

i

+1

=

2 ; e

u

i

;1

=

2

)



e



2

u

i

+1

= 2

1+

m

+

(

e

u

i

+3

=

2 ; e

u

i

+1

=

2

)



 ただし

h

=

x

i

+1

=

2

 m

;

=

x

i

;1

=

2

=h m

+

=

x

i

+3

=

2

=h

である.上式を微分すれば次式が得られる.

u

0

(

x

) = 1

h

n e

u

i

+1

=

2

+ 12!(2



;

1)

e



2

u

i

o

+ 13!



(



+

m

;

)(2



;

1)+



(



;

1)



h

2

u

000

i

+



(6.32a)

u

00

(

x

) = 1

h

2 e



2

u

i

+ 13(3



+

m

; ;

1)

hu

000

i

+



(6.32b)

(15)

これらの式の誤差は

1

階微分では

O(

h

2

)

2

階微分では

O(

h

)

である.これより



= 0

の中心差分の式は次 のようになる.

u

0

i

= 1

h

e

u

i

+1

=

2 ;

1

2



e 2

u

i

+ O(

h

2

)

(6.33a)

u

00

i

= 1

h

2 e



2

u

i

+ O(

h

)

(6.33b)

また補正項の



e 2

u

i

の代わりに



e 2

u

i

+1を用いれば次の片側差分の式を導くことができる.

u

0

i

= 1

h

e

u

i

+1

=

2 ;

1

2



e 2

u

i

+1

+ O(

h

2

)

(6.33c)

u

00

i

= 1

h

2 e



2

u

i

+1

+ O(

h

)

(6.33d)

i

;1

i

i

+1

i

+2 -



m

; -1 -

m

+

-6.3.3 3

次式に基づく数値微分

3

次補間公式は,上の

2

次補間式とそれを

3

次にする補正項の和で表せば

u

(

x

) =

u

i

+



u

e

i

+1

=

2

+12



(



;

1)

n e



2

u

i

+13(



+

m

;

)

e



3

u

i

+1

=

2 o

+ 14!(



+

m

;

)



(



;

1)(



;

1

;

m

+

)

h

4

u

(4)

i

+

 のようになる.ただし

3

階差分は次のように定義される. e



3

u

i

+1

=

2

=

3

m

;

+1+

m

+

(

e



2

u

i

+1 ; e



2

u

i

)

ここで補正項を簡単に求める方法について説明する.補正項は補間式を

3

次にするために



3

次式で,

3

階微分したときに

2

次補間の部分はゼロになるので,補正項は

@

3

u=@x

3 を近似するものでなければなら ない.また



=

;

m

;



0



1

でゼロでなければならない.したがって

a



1

2



(



;

1)(



+

m

;

)

 e



3

u

i

+1

=

2 のように置かれる.ただし

a

は未定係数で,

u

(

(

1+

m

+ )

h

) =

u

i

+2なる条件から,すなわち

u

i

+2の係数が

1

になるように決定される.

a



1

2(1+

m

+

)

m

+

(

m

;

+1+

m

+

)



3

m

;

+1+

m

+

2

1+

m

+

1

m

+

= 1

これより

a

= 1

=

3

.このようにして導かれた式が

3

次の

Lagrange

補間多項式そのものであることは,

4

u

i

;1

 u

i

 u

i

+1

 u

i

+2を通る

3

次多項式の唯一性から明らかである.次に打切り誤差は,点

x

i

;1

 x

i

 x

i

+1

 x

i

+2 でゼロになる



4

次式であるから因数

(



+

m

;

)



(



;

1)(



;

1

;

m

+

)

を持つ.またその係数は,

3

次補間 式の両辺に

Taylor

展開を代入し ,

h

4

u

(4)

i

の項の



4 の係数を比較すれば ,左辺は

(1

=

4!)

h

4

u

(4)

i

となり右辺 の補間公式に関する部分には該当項がなく,打切り誤差の



4 の係数がこれに釣合うべきであるから,左辺 と同じものになる.これから出てくる他の式の補正項と打切り誤差も同様にして求めることができる.

(16)

上の

3

次補間公式を微分すれば次式が得られる.

u

0

(

x

) = 1

h

n e

u

i

+1

=

2

+ 12!(2



;

1)

e



2

u

i

+ 13!

C

(



)



e 3

u

i

+1

=

2 o

+ 14!



(



+

m

;

)



(



;

1)+

C

(



)(



;

1

;

m

+

)



h

3

u

(4)

i

+



(6.34a)

u

00

(

x

) = 1

h

2 n e



2

u

i

+13(3



+

m

; ;

1)

e



3

u

i

+1

=

2 o

+ 24!



C

(



)+(3



+

m

; ;

1)(



;

1

;

m

+

)



h

2

u

(4)

i

+



(6.34b)

u

000

(

x

) = 1

h

3 e



3

u

i

+1

=

2

+14(4



+

m

; ;

2

;

m

+

)

hu

(4)

i

+



(6.34c)

ただし

C

(



) =



(



;

1)+(



+

m

;

)(2



;

1)

である.上式の誤差は

1

階微分では

O(

h

3

)

2

階微分では

O(

h

2

)

である.特に



= 0

の式は次のようになる.

u

0

i

= 1

h

n e

u

i

+1

=

2 ;

1

2!



e 2

u

i

;

1

3!

m

; e



3

u

i

+1

=

2 o

+ O(

h

3

)

(6.35a)

u

00

i

= 1

h

2 n e



2

u

i

+13(

m

; ;

1)

e



3

u

i

+1

=

2 o

+ O(

h

2

)

(6.35b)

i

;1

i

i

+1

i

+2

i

+3 -



m

; -1 -

m

+ -

m

++

-m

0 -次に片側差分の式を

3

次の

Lagrange

補間多項式を書換えた次式から求めることにする.

u

(

x

) =

u

i

+



u

e

i

+1

=

2

+12



(



;

1)

e



2

u

i

+1

+



;

1

;

m

+

3



e 3

u

i

+3

=

2

+ O(

h

4

)

ただしここで追加された記号は上と同様に次のように定義されたものである. e

u

i

+5

=

2

= 1

m

++

(

u

i

+3 ;

u

i

+2

)



e



2

u

i

+2

=

2

m

+

+

m

++

(

e

u

i

+5

=

2 ; e

u

i

+3

=

2

)



e



3

u

i

+3

=

2

= 3

m

0

(



e 2

u

i

+2 ; e



2

u

i

+1

)

また

m

++

= (

x

i

+3 ;

x

i

+2

)

=h m

0

= 1+

m

+

+

m

++ である.上式を微分すれば次式が得られる.

u

0

(

x

) = 1

h

n e

u

i

+1

=

2

+ 12!(2



;

1)

e



2

u

i

+1

+ 13!

C

1

(



)

e



3

u

i

+3

=

2 o

+ O(

h

3

)

(6.36a)

u

00

(

x

) = 1

h

2 n e



2

u

i

+1

+13(3



;

2

;

m

+

)

e



3

u

i

+3

=

2 o

+O(

h

2

)

(6.36b)

u

000

(

x

) = 1

h

3 e



3

u

i

+3

=

2

+O(

h

)

(6.36c)

ただし

C

1

(



) =



(



;

1)+(2



;

1)(



;

1

;

m

+

)

である.



= 0

と置けば次の片側差分の式が得られる.

u

0

i

= 1

h

n e

u

i

+1

=

2 ;

1

2!



e 2

u

i

+1

+ 13!(1+

m

+

)

e



3

u

i

+3

=

2 o

+ O(

h

3

)

(6.37a)

u

00

i

= 1

h

2 n e



2

u

i

+1 ;

1

3(2+

m

+

)

e



3

u

i

+3

=

2 o

+ O(

h

2

)

(6.37b)

参照

関連したドキュメント

Yamamoto: “Numerical verification of solutions for nonlinear elliptic problems using L^{\infty} residual method Journal of Mathematical Analysis and Applications, vol.

AUTO : 出力先機器の EDID に従います。. DVI :

ある周波数帯域を時間軸方向で複数に分割し,各時分割された周波数帯域をタイムスロット

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

代表研究者 川原 優真 共同研究者 松宮

(平成15年6月30日廃止)、防府、平生、岩国、伊万里、唐津、厳原、大分、大分空港、津久

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

用途 ケーブル本数 建屋 フロア 区分 影響区分.