keisoku_spline

計測工学10
データの補間
スプライン補間
1
.復習 階差 近似多項式の次数の
決定法
• 等間隔階差
– 関数y=f(x)で、xの値
が等間隔の場合
等間隔:x0, x0+h, x0+2h・・・
yの値: y0 , y1 , y2 ・・・
• これらの階差は
– 第1階差:y1-y0=⊿01, y2-y1=⊿11, ・・・, ⊿i1, ・・・
– 第2階差:⊿11-⊿01=⊿02, ⊿21-⊿11=⊿12, ・・・
– 第3階差: ⊿12-⊿02=⊿03, ・・・
• 第N階差が同じくらいの値(第(N+1)階差が0くら
い)になれば、N次式で近似する
2
.復習 ラグランジュの補間公式
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
3
.復習 ラグランジュの補間公式
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
4
.復習 ラグランジュの補間公式.
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
5
.復習 ラグランジュの補間公式.
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
6
.復習 ラグランジュの補間公式.
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
7
.復習 ラグランジュの補間公式.
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
8
.復習 ラグランジュの補間公式.
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
9
.復習 ラグランジュの補間公式.
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
10
.復習 ラグランジュの補間公式
• N+1点のデータを通るN次式を求め、この式で補
間する
• 例)N=3の場合
y
– 4点のデータを通る3次式を求めて補間する
x
11
.復習 ラグランジュの補間公式
i ( x)
pN ( x)  
yi
i 0 i ( xi )
N
ただし、
( x)  ( x  x0 )(x  x1 )    ( x  xN )
( xi )  (xi  x0 )(xi  x1 )    (xi  xN )
( x)
i ( x) 
; ( x)から ( x  xi )を除いたもの
x  xi
( xi )
i ( xi ) 
; ( xi )から ( xi  xi )を除いたもの
xi  xi
12
スプライン補間法
• 混合スプライン
– 連続した4点を1組にした補間公式を作成し、中央2点間のみを
用いる。
– デ-タ点を必ず通る。
– デ-タ点にて、両側の区間の2階微分係数が一致する。
– デ-タは等間隔でなくてはならない。
• ベーススプライン
–
–
–
–
デ-タ点は等間隔。
デ-タ点で、1階および2階微分が一致する。
補間が連続的になるが、デ-タ点を必ずしも通らない。
連続した4点から3次式を求め、中央2点間を補間。
• 雲形定規スプライン
– デ-タ点を必ず通る。
– デ-タ点にて、両側の区間の1階微分係数が一致する。
• 3次スプライン
– データ点を必ず通る。
13
– データ点にて、両側区間の1階微分係数および2階微分係数が
一致する。
予備知識 Excelで行列の計算をする
• 配列数式を使う
– 配列数式とは複数の行と列(行列)に対する演算を行
うもの
• 行列積、逆行列のための関数の利用
– MMULT関数 行列の積
– MINVERSE関数 逆行列を求める
• 演習用Excelシートで行列の計算をやってみる
14
.3次スプライン補間
• N+1個のデータのために
N個の区間のためのN個
の3次式を求める
y
5個のデータには4個の3次式
区間0
区間1
区間2
区間3
x
15
.3次スプライン補間
• N+1個のデータのために
N個の区間のためのN個
の3次式を求める
• 式には以下の条件をつけ
る
y
– 全てのデータ点を通る
それぞれの3次式は区間両側
の2点を通る
区間0
区間1
区間2
区間3
x
16
.3次スプライン補間
• N+1個のデータのために
N個の区間のためのN個
の3次式を求める
• 式には以下の条件をつけ
る
y
– 全てのデータ点を通る
– 各々の区分補間式は、境
界点の1次導関数は連続
データ点上で傾きが連続
区間0
区間1
区間2
区間3
x
17
.3次スプライン補間
• N+1個のデータのために
N個の区間のためのN個
の3次式を求める
• 式には以下の条件をつけ
る
y
– 全てのデータ点を通る
– 各々の区分補間式は、境
界点の1次導関数は連続
– 各々の区分補間式は、境
界点の2次導関数は連続
データ点上で傾きの変化が
連続
区間0
区間1
区間2
区間3
x
18
3次スプライン補間
• N+1個のデータのために
N個の区間のためのN個
の3次式を求める
• 式には以下の条件をつけ
る
y
– 全てのデータ点を通る
– 各々の区分補間式は、境
界点の1次導関数は連続
– 各々の区分補間式は、境
界点の2次導関数は連続
– 両端の2次導関数の値を0
(自然スプライン)
両端では直線
区間0
区間1
区間2
区間3
x
19
3次スプライン補間とラグラン
ジュの補間の比較
• 2点のデータ点間の補完のために
– 3次スプライン
• 2点を通る3次式
• 隣り合う区間で傾きと傾きの変化が連続
– ラグランジュ補間
• 4点を通る3次式
• 隣り合う区間で特に条件はない
20
3次スプライン補間とラグラン
ジュの補間の比較
3次スプライン
y
y
ラグランジュの補間
ここで、傾きと傾
きの変化が連続
区間0
区間1
区間2
x
区間3
区間0
区間1
区間2
区間3
x
21
3次スプライン補間の計算法(計算
式の導出は省略)
• N+1個のデータに対しN個の区間でのN個
の3次式(jは区間の番号)
y  aj(x  xj )3  bj(x  xj )2  cj(x  xj )  dj
y
x
x0
x-x0
区間0
区間1
区間2
区間3
x
22
3次スプライン補間の計算法(計算
式の導出は省略)
• x=xjにおける2次導関数の値をujとすると
h1
0
2(h0  h1 )

h1
2(h1  h2 )
h2


0
h2
2(h2  h3 )




hN  2

ただし
h j  x j1  x j (j  0,1,2,3)

  u1   v1 
 u   v 
 2   2 
  u3    v 3 

 

       
2(hN2  hN1 ) uN1  vN1 

v j  6 ((yj1  y j )/hj )  ((yj  y j1 )/hj1 )
• この連立方程式を解くことでujを求める。また条
件より、u0=uN=0とする。
23
3次スプライン補間の計算法(計算
式の導出は省略)
• 求めたujより各区間の係数a,b,c,dを以下の
式で決定する
aj 
(uj1  u j )
6hj
uj
2
h
1
c j  (yj1  y j )  j (2uj  u j1 )
hj
6
bj 
dj  y j
• この係数を使い、各区間の補間を以下の
式で行う
y  aj(x  xj )3  bj(x  xj )2  cj(x  xj )  dj
24