• ベストアンサー

三次方程式の解法について

三次方程式を解くプログラムを作成したいです。 三次方程式a*x3+b*x2+c*x+d=0を解くのに, カルダノの公式がありますが,解が全て実数解であるとしても, 計算過程で虚数が存在することを考えなければなりません。 しかし,a=1で解が実数解の場合, 計算過程で虚数を考えなくても,簡単に実数解を求める ことができる(エクセルで簡単に)と聞きました。 ニュートン法等の収束計算を用いる方法ではないようです。 このような方法をご存知でしたら,詳しく教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
noname#108554
noname#108554
回答No.4

ビエタの解 http://ja.wikipedia.org/wiki/%E4%B8%89%E6%AC%A1%E6%96%B9%E7%A8%8B%E5%BC%8F#.E9.82.84.E5.85.83.E4.B8.8D.E8.83.BD.E3.81.AE.E5.A0.B4.E5.90.88 なら、計算過程で虚数を使わずに実数解が出てきます。

naetop
質問者

お礼

この方法なら簡単に実数解だけを求められるみたいですね。 有難うございます。

その他の回答 (3)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.3

三次に限らず多項式f(x)の零点を計算する話にします。 その目的でニュートン法を使う場合、式を大幅に簡単にできるので、見かけはニュートン法っぽくなくなります。 また「二次因数分解」を使うこともできます。すなわち多項式f(x)が実係数の二次式(x^2-ux-v)で割り切れるようにu,vを決定する。この際にニュートン法を利用しますが。 収束が遅くてあまり実用的とは言えないけれども、「商差法(Quotient-difference method)」てのがあり、これはニュ-トン法を全然使いません。

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.2

>計算過程で虚数を考えなくても,簡単に実数解を求める ことができる(エクセルで簡単に)と聞きました。 参考URLにEXCELによる具体的な実数解の求め方が掲載されています。 3次方程式のソルバー(解くためのソフト)は標準でインストールされていないので、OFFICEのCD-ROM中にあるソルバーをインストールしないといけないようです。参考URLに詳細が載っていますのでご覧下さい。

参考URL:
http://members.jcom.home.ne.jp/dbp/Excel/excel_ce_nyumon.htm
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

a = 1 のときに簡単に解けるんだったら, a が 1 でないときでも簡単に解けるはず (全体を a で割るだけ, だから) です. でもって, カルダノによる三次方程式の解法では, 「3個の異なる実数解」になるときには必ず「虚数の 3乗根」が出てきます. 「不尽根」というやつです. 「計算過程で虚数が存在することを考えなければなりません」よりもっと強い結果です.

関連するQ&A