計算工学I 電子情報工学科5年(前期) 11回目(02/06/2015) 担当:古山彰一 ([email protected]) 微分方程式 次のような1階の微分方程式を解くことを考える。 𝑑𝑦 = 𝑓(𝑥) 𝑑𝑥 真値 𝑦(𝑥1 ) 誤差 𝑥 = 𝑥0 と𝑥0 + ℎにおける関数値を𝑦0 , 𝑦1 とすると、 𝑑𝑦 𝑦1 − 𝑦0 = 𝑑𝑥 ℎ と書くことができる。 以上より、 𝑦1 = 𝑦0 + ℎ𝑓 𝑥0 となる。𝑦1 が求まったら(𝑥0 + ℎ, 𝑦1 )を新たな出発点とし て、同様に(𝑥0 + 2ℎ, 𝑦2 )が求められる。 一般的には以下のように書くことができる。 𝑦𝑖+1 = 𝑦𝑖 + ℎ𝑓 𝑥𝑖 , 𝑦𝑖 𝑥𝑖+1 = 𝑥𝑖 + ℎ (𝑖 = 0, 1, 2, ⋯ ) y0 接線 予測値 𝑦1 = 𝑦0 + ℎ𝑓(𝑥0 ) h x0 x1 オイラーの前進公式(forward Euler method)と 呼ばれる解法だけど、なんか、すごく誤差が大 きそうじゃね?? 誤差を調べてみよう。 𝑦(𝑥0 + ℎ)をテーラー展開してみる。 ′ 𝑦 𝑥0 + ℎ = 𝑦 𝑥0 + ℎ𝑦 𝑥0 1 2 ′′ + ℎ 𝑦 𝑥0 + ⋯ 2 この式を見ると、オイラーの前進公式は右辺第2項目までを考慮しており、ℎ2 程度の誤差が蓄積することがわかる。 課題1: 𝑑𝑦 = 2𝑥, 𝑦 0 = 0とする。この微分方程式を手計算で解き、その解をグラフに書きなさい。 𝑑𝑥 ※まず一般解を導出して、初期条件を入れて任意定数を求め、特殊解を得る。 課題2: オイラーの前進公式のプログラムを作成し課題1の問題を解きなさい。プログラムでは、𝑥 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10のと きの𝑦を導出し、課題1で書いたグラフにその値をプロットしなさい。 課題3: 𝑑𝑦 = 𝑦 − 12𝑥 + 3, 𝑦 0 = 1について、課題1、課題2と同様に計算しなさい。 𝑑𝑥 ただし、 𝑥 = 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0とする。 上記課題をレポートにまとめてpdfファイルにしたうえで、本日23:59までに古山にメールで提出([email protected])しなさい。 なおファイル名は、11i5??.pdf とする。??は二桁の出席番号。
© Copyright 2025 ExpyDoc