• ベストアンサー

エクセルで三次方程式を解きたい

エクセルで三次方程式を解きたいのです。 普通に三次方程式の一般解を入力して計算すると、 計算途中に虚数がでるため計算が出来ません。 ax^3+bx^2+cx+d=0 でa,b,c,dを入力すると3つの解を出したいのです。 何か良い方法を知っている方ご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

自信ないですが、参考になれば。 方程式(4次以下。5次以上は一般解の公式なし。)を解くとき (1)根の公式による (2)数値的解法(ニュートン法のようなもの) があると思う。 (2)は接線とX軸の交点を問題にすることでも判るように 実数根しか求められないのではないでしょうか。 虚数解となるケースの虚数部の実数係数を 求める(a+biの(a,b))方法(漸近的に解に近づく繰り返し計算方法)があるかどうか知りません。 (1)は3次方程式の場合ωが付くが、その係数は実数のはずで、公式による計算で求められると思う。 複素数内で解は3個存在し、複素数はa+biとなり a,bは実数のはず。 しかし判別式の中の値の正負0によって公式が「場合分け」が必要なので、エクセルの関数式も、IF文のネストをして、表さないといけないと思います。「場合分け」してますか。 またaを求める式とbを求める式と2つ別にすることもありそうです。

RSK
質問者

お礼

詳しい回答ありがとうございました。 三次方程式を解くアドインファイルというものが フリーソフトとしてありまして、無事解決いたしました。 頂いた回答も今後の参考にさせていただきます。 回答をくださった皆様ありがとうございました。

その他の回答 (1)

  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.1

1個しか解出ませんが(しかも近似値) [ツール]→[ゴールシーク]を使ってみるのはダメですか? A1セルにa、B1セルにb、C1セルにc、D1セルにdを入れ、 A2セルをXとして、とりあえず仮に1を入力。 A3セルに =A1*A2^3+B1*A2^2+C1*A2+D1 という式を入力。 で、[ツール]→[ゴールシーク]で、 [数式入力セル]をA3、 [目標値]をゼロ、 [変化させるセル](=X)をA2として[OK] これでとりあえず一つは近い数字出てくるはずですが…。

RSK
質問者

お礼

早い回答ありがとうございます。

関連するQ&A