数値解析 (第四章) 関数を 近似す る 関数の近似はなぜ必要か モティ ベーシ ョ ン • 複雑な 関数を 計算機が可能な 演算に 還元し な け ればな ら な い • でき る だけ 計算量を 減ら し た い • でき る だけ データ 量を 減ら し た い • 通常は多項式で近似する が, でき る だけ 滑ら かに 近似し た い ⇓ 補間多項式, Taylor 近似, 最小二乗法な ど 数値解析 補間と は (1) 有限個のデータ から 関数全体を 復元し た い こ の曲線を よ り 計算量と 記憶容量の少な いも ので近似し た い 3 2 1 0.2 0.4 0.6 0.8 1.0 例え ば 4 点を 選んで直線で結ぶと 3 2 1 0.2 0.4 0.6 0.8 1.0 計算量は少な いが不自然 数値解析 補間と は (2) も う 一点増やし て 3 2 1 0.2 0.4 0.6 0.8 1.0 も っ と 増やせば 3 2 1 0.2 0.4 0.6 0.8 1.0 だいぶよ く な っ た が, つな ぎ 目が不自然 データ を そ んな に 増やせな いと き はど う する か 数値解析 補間と は (3) いま 行っ た こ と は, 2 点 (a, f (a)), (b, f (b)) を 結ぶ直線 (一次式, 一次多項式) を 求めた だけ こ れでも 点と 点の距離が近け ればよ い近似が得ら れる こ のよ う な 近似法を 一次補間 と 呼んでいる 。 二点 (a, f (a)), (b, f (b)) を 結ぶ直線の式は f (b) − f (a) (x − a) y = f (a) + b−a x−b x−a = f (a) + f (b) a−b b−a 数値解析 n 次補間 (1) n 次 (多項式) 補間と は n + 1 点 (x0 , f0 ), (x1 , f1 ), · · · , (xn , fn ) を 通る n 次多項式 Pn (x) を 作る こ と を 言う 。 そ のよ う な 多項式 Pn (x) は Pn (x) = n X li (x) fi , i=0 (x − x0 ) (x − x1 ) · · · (x − xi−1 ) (x − xi+1 ) · · · (x − xn ) li (x) = (xi − x0 ) (xi − x1 ) · · · (xi − xi−1 ) (xi − xi+1 ) · · · (xi − xn ) n Y x − xj = xi − xj j=0, j6=i で与え ら れる (Lagrange の補間)。 問 上の式で与え ら れる Pn (x) が Pn (xi ) = fi (i = 0, 1, . . . , n) を 満た すこ と を 示せ。 数値解析 n 次補間 (2) 問 二点 (0, 0), (1, 1) を 通る 一次補間多項式を 作れ。 問 三点 (0, 0), (1/2, 1/4), (1, 1) を 通る 二次補間多項式を 作れ。 数値解析 n 次補間 (3) 定理 相異な る n + 1 点を 通る n 次多項式は一つし か存在し な い。 証明 そ のよ う な 多項式が2 つあ っ た と する 。 そ れら を P (x) と Q(x) と する 。 こ の2 つはど ち ら も 相異な る n + 1 点 (xi , fi ) (i = 0, 1, . . . , n) を 通る と する 。 すな わち P (xi ) = Q(xi ) = fi , i = 0, 1, . . . , n と する 。 そ う する と n 次多項式 R(x) = P (x) − Q(x) は R(xi ) = P (xi ) − Q(xi ) = 0, i = 0, 1, . . . , n と な り n + 1 点で 0 と な る (n + 1 個の解を 持つ )。 ⇒ 矛盾 数値解析 Lagrange 補間多項式の計算法 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: P := 0; for i := 0 to n do li := 1; for j := 0 to n do if j 6= i then li := li ∗ (x − xj )/(xi − xj ); end if end for P := P + fi ∗ li ; end for 問 上のプロ グラ ム で乗算の回数は何回に な る か。 数値解析 Lagrange 補間の誤差 関数 f (x) の値 (xi , f (xi )) (i = 0, 1, . . . , n) から n 次補間多項式を 作っ た と き , そ の誤差 e(x) = Pn (x) − f (x) は f (n+1) (ξ) ϕ(x) e(x) = − (n + 1)! と なる 。 こ こ で ϕ(x) = n Y (x − xi ) i=0 であ り , ξ は x に 依存し て 決ま る 未知の値であ る 。 • x = xi (i = 0, . . . , n) では誤差が0 に な る (当た り ま え ) • x = xi (i = 0, . . . , n) の近く では誤差が小さ く な る • f (n+1) (x) = 0 な ら e(x) = 0 と な る (f (x) が n 次の多項式の場合) • maxx |ϕ(x)| が大き く 振動する 関数な ら ば補間の性質も 悪く な る ⇒ チェ ビ シェ フ 点 数値解析 標本点を ど のよ う に配置す る か 等間隔: b−a xi = a + i, n i = 0, 1, . . . , n チェ ビシェ フ 点: b+a b−a − cos xi = 2 2 -1.0 2i + 1 π 2(n + 1) 1.0 1.0 0.5 0.5 0.5 -0.5 1.0 -1.0 0.5 -0.5 -0.5 -0.5 -1.0 -1.0 1.0 a = −1, b = 1 の場合の等間隔点と チェ ビシェ フ 点の比較 数値解析 ϕ(x) の比較 (n = 10 の場合) 0.010 0.005 x -1.0 0.5 -0.5 1.0 -0.005 -0.010 チェ ビシェ フ 点 (太線) と 等間隔点 (細線) 数値解析 チェ ビ シ ェ フ 補間の例 f (x) = 1 1+25x2 の補間多項式の比較 1.5 1.0 0.5 -1.0 -0.5 0.5 1.0 等間隔に 標本点を 配置する と 端の方で振動が激し く な る 数値解析 最小二乗近似 最小二乗近似と は (1) 実験データ に 「 も っ と も ら し く 」 当て はま る 式 (直線 or 曲線) を 探す 12 10 8 6 4 2 2 4 6 8 10 -2 • データ は測定時の誤差を 含んでいる • 物理的考察 (経験) よ り 現象を 説明する モデルが存在する こ と も あ る 数値解析 最小二乗近似と は (2) 12 10 8 6 4 2 2 4 6 8 10 -2 こ れは不自然! 12 10 8 6 4 2 2 4 6 8 -2 こ れも 不自然! (多項式補間) 数値解析 10 最小二乗近似と は (3) 12 10 8 6 4 2 2 4 6 8 10 -2 こ れはも っ と も ら し い ど う やっ て こ の「 も っ と も ら し い」 直線を 引く か 数値解析 「 もっともらしく 」 とは 測定データ (xi , yi ) (i = 1, . . . , n) があ る 当て はめる 直線の式 (モデル ) を y = a x + b と する 「 もっともらしく 」 とは モデルから 得ら れる 値と 測定データ の差 ei (= yi − (a xi + b)) の2 乗和 E(a, b) := n X e2i = i=1 を 最小に する よ う に a, b を 決める 。 数値解析 n X i=1 (yi − (a xi + b))2 ど う やっ て a, b を 決める か (1) E(a, b) を 展開する と E(a, b) = = n X yi2 i=1 n X i=1 − 2 yi (a xi + b) + (a xi + b) x2i ! a 2 + n b2 + 2 n X i=1 −2 n X i=1 yi ! b+ xi ! n X 2 ab − 2 n X i=1 yi2 i=1 a に 関し て も , b に 関し て も 二次式で a2 (b2 ) の係数は正であ る 。 ⇒ 下に 凸な 関数 ∂E(a, b) ∂E(a, b) = = 0 と な る 点で極小値を 持つ。 E(a, b) は ∂a ∂b 数値解析 xi yi ! a ど う やっ て a, b を 決める か (2) ∂E(a, b) =2 ∂a ∂E(a, b) =2 ∂b n X i=1 n X i=1 x2i xi ! ! Pn 2 x i Pi=1 n i=1 xi a+2 n X xi i=1 a + 2nb − 2 ! b−2 n X n X xi yi i=1 yi i=1 ! ! =0 =0 ⇓ Pn Pn xi yi a i=1 xi i=1 P = n n b i=1 yi ⇓ a = (n Sxy − Sx Sy )/(n Sxx − Sx2 ) b = (Sxx Sy − Sx Sxy )/(n Sxx − Sx2 ) Sxx = n X i=1 数値解析 x2i , Sxy = n X i=1 xi yi Sx = n X i=1 xi , Sy = n X i=1 yi 別なケ ース 測定データ (xi , yi , zi ) (i = 1, 2, . . . , n) に う ま く 当て はま る よ う な 平面 z = a x + b y + c を 決める 場合は E(a, b, c) = n X (zi − (a xi + b yi + c))2 i=1 と いう 関数を 作り , そ れを a, b, c で偏微分し 0 と 置いた 方程式を 解く 。 問 a, b, c を 求める 方程式を 導け。 数値解析
© Copyright 2024 ExpyDoc