エクセルで操る!デュラン・ケルナー・アバース法(DKA法)による高次代数方程式の解計算

        

Excelを用いた科学技術計算が第2版になりました 30年10月

amazon:Excelで操る! ここまでできる科学技術計算 第2版

楽天: Excelで操る! ここまでできる科学技術計算 [ 神足 史人 ]



図1 例題の高次代数関数


図2 DKA法よる複素平面上の収束状態

たった1日で即戦力になるExcelの教科書

入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス)


デュラン・ケルナー法


 デュラン・ケルナー法は、実係数の高次代数方程式の実根および虚根を求めるのに良く使われる。

n次代数方程式を(1)式とする。

   f(x) = a0xn + a1xn-1 + a2xn-2 + ・・・・・ + an-1x + an = 0    ・・・・・ (1)

 上記、代数方程式の解をαiとすると、

   f(x) = a0(x-α1)(x-α2)・・・(x-αn)   ・・・・・ (2)

となる。

これを微分し、x=αjの微分を求めると、次式となる。

  f'(αj) = a0 Π(αj-αi)  ・・・ (3)

 Πはi=jを除き、iが1〜nまで、(αj-αi)を掛け算する。

 ニュートン法を適用し、解が収束するまで次式を繰り返す。

  xj = xj-f(xj)/f'(xj) = xj-f(xj)/(a0Π(xj-xi))  ・・・・ (4)




アバースの初期値


 デュラン・ケルナー法はその初期値を適正に設定することが重要である。

 ここでは、アバースの初期値を設定する。

 根の重心βを中心とし、すべての根がその内部に含まれる半径Rの円周上に初期値を設定する。

 根の重心βは次式となる。

 β=(α1+α2+ ・・・+αn)/n = a1/(n・a0)   ・・・・・ (5)

初期値は次式となる。

 xj = β+ R・cos((2π(j-1)+3/2)/n) +i・R・sin((2π(j-1)+3/2)/n)  ・・・・ (6)

 アバースの初期値から出発し、デュラン・ケルナー法で解を求める方法をデュラン・ケルナー・アバース法という。




エクセルで操る!デュラン・ケルナー・アバース法による4次代数方程式の根計算


 4次代数方程式 f(x) = x4  - 2x3 - 7x2 + 4x + 3 = 0の根を求めてみよう。

 適当なRを設定し、初期値を設定する。

 Excelに複素数の計算の参考:エクセルを用いた虚数、複素数計算


              図3 DKA法の計算


 収束途中の複素数を実数と虚数に分離すると下表となる。


                   図4 収束途中の複素数を実数と虚数に分離


Excel VBAのプログラミングのツボとコツがゼッタイにわかる本

Excel VBA 2007/2003/2002対応(できる大辞典)

よくわかるMicrosoft Office Excel 2007 (基礎)

よくわかるMicrosoft Office Excel2007

エクセルこれだけ関数事典90―ハンディで見やすい!



エクセルのソルバーで操る!ヒッチコック・ベアストウ法による高次代数方程式の解計算

エクセルで操る!ベアストウ法による固有値計算、固有ベクトル計算

エクセルのVBAを用いた2分法による非線形方程式の計算
2分法はVBAを用いたほうが簡単です。

非線形方程式をエクセルで解いてみよう(ニュートン・ラプソン法)

非線形方程式をエクセルで解いてみよう(EXCELのソルバー)

 





EXCELを用いた科学技術計算

EXCELのソルバーを用いた科学技術計算



〒673−0036 兵庫県明石市松江62−14
(有)ゴッドフット企画



感想をお聞かせ下さい



JR福知山線 脱線事故シミュレーション

脱線事故シミュレーションもEXCELで
(Yahoo Japan 掲載)


Copyright (C) GODFOOT 2015 All Rights Reserved.