2005/10/25 数値解析学と演習 福井 先生 講議の流れ 方程式を解く ( 前期 ) 固有値を求める ( 前回まで ) 補間とその応用 ( 今日から ) 補間 関数近似 偏微分方程式 # 形の記述 # 鍵の特許を取る時に、補間データを提出すると Okey # 車のボディのデザイン # 昔は「クレイモデル ( ようする粘土で模型を作る )」だったので大変だった # 今は、CAD から、補間データの形、鋳型へ.. == [補間] 関数 y = f(x) に関して、幾つかの点 ( x_i, y_i ) ( i = 1, .., n ) の値が解っている # 例えば、実験データが与えられて、点グラフがあるが、間の値を知りたい.. x_i 以外の点での y をどう計算するか ? (x_i,y_i) の値を利用して、x_i 以外の点での値を求める方法 => (データ) 補間 cf. 関数表 # f(x) そのものの計算に時間がかかる場合 ( cf. 昔の sin/cos ) # 実際に、f(x) そのものを計算するより、補間した方が速い。 # [応用] 電流計 ( 全く同じものができることはないので、目盛の印刷はできない ) # 安いもの : 三点程度を測って、後は補間 # 高いもの : 全ての点で測って、目盛を付ける ## 「デジタル表示は信じてはいけない」 ## 本来はアナログのデータを A/D 変換しているだけ !! ## 変換の段階で、誤差が... ## cf. 飛行のパイロットの主副で、デジタル計測機の表示がちがっていて、トラブルが.. [補間の方法] # 補間は、元の関数の計算の代わり利用されることもあるので、余り時間がかかるのでは意味がない 単純 ( 高速 ) な補間 線型補間 ( 一次式の補間 ) 高速だが、誤差も多い => 高次の補間が望まれる # 一般に.. n 点あれば、n - 1 次多項式を定めることができる # 闇雲に、次数の高い次数がよいだろうか ? # => No # cf. 気象観測データの補間 # 地上は、データが沢山ある # 海の上は、データがあまりない # 地上は三次位でも Okey # 海上で高次でやると、幻影解が出てしまう # [幻影解] 高次元の補間を行うと、補間の影響で、本来、存在しないのに、それあるかのような解が出てしまうことがある。そのような解を幻影解と呼ぶ。 線型補間の場合は、幻影解がでない ( が、その代わりに精度は悪い.. ) cf) 1/x を多項式で補間しようとする巧くゆかない ## 多項式は、無限先で、発散するが 1/x はそうでない => 線型補間であれば、そのような問題がない.. !! 対象となるなる関数の性質によって、望ましい補間の次元は異る => しかし、これは矛盾 !! だって、関数の内容が解らないので、補間しているのだから.. # どのような次元にするとよいかは、補間における大きな問題 本来、低い次元の物に高い次元を適用するのは望ましくない ( 幻影解 ) => どう次元を落すか ? AIC : 統計的な手法で、元のデータの次元を推測する # cf. 赤池先生 区間を分ける == [多項式の補間 ( 補間の基礎 )] 二次関数 f(x) = a_2 x^2 + a_1 x + a_0 の場合は、(係数が三つあり、これが未知数なので..) 三点 (x_0,y_0), (x_1,y_1), (x_2,y_2) の値が与えられれば、決めることができる。 => 点の値を入れて、係数 a_2, a_1, a_0 に関する連立方程式を解けばよい # 数学的にはこれで Okey だが.. 次元 n が大きくなると、x^n の値が大きくなるので、「数値的」に、解きにくい ( = 誤差がでやすい.. ) 連立方程式になる !! では、どうする ? => ラグランジェ補間を利用する !! ラグランジェ補間 多項式を誤差なしに補間 # 「高次の補間は使わない」といっておいて「高次元で誤差のない手法」を説明するのは、矛盾かもしれないが.. # => ラグランジェ補間そのものは使わなくても、その考え方は使える !! ラグランジェ補間の発想 与えられた観測点で 1 だが、他の観測点では、0 となる関数 N_i を考える この関数 N_i の線型和で、元の関数を近似する [ラグランジェ補間の仕方] 今、観測点 x_0, .., x_m で、 N_i(x_j) = δ_{i,j} となる n 次元の多項式が作れたとする。 この時、近似関数は、 P(x) = \Sum{i=k}^{k+m}y_i N_i(x) とすればよい。 これは、確かに、 x_i で y_i = P(x_i) となる。 # 「騙されている」ような気がする ## m 次元の多項式全体の集合 F を考え、これを x_0,..,x_k の値での結果を成分とするベクトルを作れば、これは線型空間になる。この基底を考えると N_i となる。 # 「直交多項式」という考え方 !! ## 問題は、「このような N_i が定義できるか ?」という問題 ## cf. text p.395 ## これができる !! ( ラグランジェは良く考えた !! ) ## 次のようにする N_i(x) = \Pi_{j=k,i\ne j}^{k+m}\frac{x-x_j}{x_i-x_j} ## こうすれば、N_i(x) は求める関数となる !! ### 実際に、N_i(x_j) = δ_{i,j} となる。 # 実用上は、区分で、5 次程度までは扱うが、ラグランジェで 10 次、20 次の近似をすることはない。 ## 次元の高いものを使う場面は殆どない ( cf. 他の影響が殆どない宇宙船の軌道などは使えるかも !! )。 # 大事な点は、この「考え方」そのもの。 ## 今後の補間の様々な場面で利用することができる !! ## cf. 有限要素法 : 「テント関数」と呼ばれる関数が、この N_i に相当するもので、これを利用している。 == [その他の補間法] # よく利用される補間方法は、線型あるいは、二次、三次補間 # その次位に利用される補間 => スプライン補間 ( cf. text p. 422 ) スプライン補間 「自在定規」の数学的なモデル ( cf. 森口先生 ) => 区分的三次補間 n 点の観測点が与えられと各々の区間毎に、三次式で近似する 区間には、両端の二点しか決らないのに、何故、三次 ? 「観測点で、滑らかである = 微分値が連続」 という条件を与えられれば、関数が定まる。 f_i(x) = a_3 x^3 + a_2 x^2 + a_1 x + a_0 => 係数が 4 つ 条件 両端で 0 2 点あるので二つ条件 両端で微分が連続 2 点あるので二つ条件 [注意] 中間の点はこれでよいが、端点は条件が足りないので、別に条件を与えてやる => この連立方程式は、三重対角になるので、それほど大変でない # これを拡張して.. 区分的に、5 次元, 7 次元も定義ができる ## ピークのあるデータ ( cf. 心電図 を補間し、圧縮して保存したい ) ## 三次元では、表せない => 五次で、答を重複させると、なんとか.. == 「補間」ができない場合 二次元で、一つの方向にはデータがあるが、もう一方にデータがないとだめ アスペクト比が大きい場合 鉄の塊の強度計算 => 楽 車のボディの強度 => 縦横は Okey だが、奥向きは全然比率が違う 鉄というより紙に近い振舞いをする => 扱いにくい ( 結局は、有限桁問題 ) == [課題] 内容 ラグランジェ補間 プログラム text p.400 データ 配布プリント