方程式を解く 線型方程式 n 元 非線型方程式 非線型方程式を解く 解の公式があれば、一応 Okey 2 次方程式 .. 解の公式 3 次方程式 .. カルダン 4 次方程式 .. フェラリ 5 次方程式 .. 解の公式は存在しない 解の公式がない場合は ? 推定して、補正を行う。 解の候補をを取りあえず挙げる。 元の方程式に代入して結果を確認 ( 0 なら Okey ) 結果をみて、解を改良する。 改良結果が望ましい形 ( 誤差が ε以下 ) になるまで繰り返す 具体的な方法 ( 二分法 : Text p.12 ) 区間 [a, b] で、y = f(x) の符号が異るとする f(a) * f(b) < 0 区間 [a, b] 内に少くても 1 つ ( 一般には奇数個 ) の解が存在する。 # 暗黙の仮定 # 関数は連続 ( 不連續だとだめ.. ) # 根(解)の存在を仮定している # 最初の [a,b] をどうやって求める ? 手続き f(a) < 0 < f(b) とする。 m = \frac{a+b}{2} とし、 |f(m)| < ε m を根とする f(m) < 0 なら、 [m, b] から探す f(m) < 0 なら、 [a, m] から探す [a,b] の区間のサイズは、一回毎に、1/2 になる 根の値は、1 bit ずつ決る 実数の仮数部が 24 bit なので 24 回で Okey # 最初の [a,b] は、1 bit 最初のだけ決めていると考えてよい。 ## 最初に十分に [a,b] を小くすれば、最初の数 bit を決める。 # 上の bit から次第に決る ## 泥水をかきまわせると、上の方からすんでくるイメージ ( 一松先生.. ) 24 回は、多いか少いか ? 多い 繰り返し回数(x)と、決定される bit 数(y)のグラフをかく y = x のグラフ ( 一次グラフ ) になる 一次収束 x | 1 2 3 4 5 6 7 8 .. 24 y | 1 2 3 4 5 6 7 8 .. 24 次回行うニュートン法 y = x^2 のグラフ ニ次収束 x | 1 2 3 4 5 6 y | 1 2 4 8 16 32 # 速い方法には落し穴が.. ## 二分法 (一次収束) は、必ず答が出る ## タフな手法 ## ニュートン法(二次収束) は、答がでないこともある ## 計算の途中で、発散する可能性がある ### 大学の演習は、「答がある問題」 ### ニュートン法でも必ず答がでる ### 速い方法を取ればよい ### 会社の問題は、「答がないから解く」 ### ニュートン法だと觧けないかも... ### タブな解放が必要 最初の [a,b] は、どうやって求める ? 物理現象から探す 問題を解く前に、あるていど予想ができる問題 グラフを書いてみる。 幾つかポイントをとってみればよい。 # 光ファイバー # 反射率の異る二つの材質を貼り合せている ( ドーナツ状態 ) # 光を全反射させる仕組 # 鏡だと 50 % 位から反射しない # 何度か反射すると、減衰して伝わらなくなる # この仕組だとほぼ 100% 反射 # ファイバーの曲げの計算 # 4 次方程式になる # 係数がどうなるかわからない ? # 安定な方法でないと、觧けない場合がある !! 2 分方法 ニュートン方法 一次収束(遲い) 二次収束(速い) タフ(いつでも計算可能) 根がでないこともある n 次収束 {x^k} -> x^* の時に \limit_{k->\infty} \frac{|x^k - x^*|}{|x^{k+1}-x^*} = n となる時に、n 次収束 一般には、n が大きい方が収束が速いわけだが.. n=1 と n=2 は大きいが n=2 と n=3 は殆ど差はない。 n が大きくなりすぎると、解が不安定になるので、あまりよくない n = 1, 2 が実用的な解法 # 具体例が、今回の 二分法と、ニュートン法 == 演習の話 演習の課題は、講義の時間に出る 課題の提出 形式 e-mail で行う Subject に 課題が出た日時と、学籍番号を付ける 本体に Program 結果 考察 To: fukui@ecc.math.cst.nihon-u.ac.jp Cc: 自分の e-mail 期限 次の週の月曜日まで プログラミング言語はなんでもよい == 課題の内容 f(x) = x^2 - 2 を二分法で解く 最初の区間は [ 0, 5 ] # 関数電卓でも簡単にできる 判っている人は、自分でプログラムを書く 判らない人は、Text を参照しよう # コメントは入らない