• ベストアンサー

はさみうち法とニュートン法について

はさみうち法とニュートン法のプログラムのついてのことなんですが、ひとつずつ解を求めるプログラムは作れました。例えば三次方程式だったら三つの解をすべて求めるプログラムをつくるにはどうすればいいんでしょうか?

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

  • ベストアンサー
  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.4

元の式f(x)が多項式なら、#2のプロセス中のf(x)/(x-x1)の処理でf(x)の次数を下げることができます。 (f(x)/(x-x1)も多項式になるので、この式の係数を多項式の組み立て除法使って計算できる) こうすると、3次式の1実根が求まれば、3次式→二次式に落とすことができるので、あとは二次方程式の解の式を使ったり、再度数値解方で根を求めたりできます。 (元の式が3次以上の実係数多項式の場合には、二次式(x^2+qx+p)の積(+一つの一次式)に分解(pとqを数値解方で決定する)して、二次式の解の公式使って各解を決定する、というアルゴリズムも結構使われるようです。(複素解も全て求めることができます))

maiahikkk
質問者

お礼

ありがとうございました

その他の回答 (3)

  • Interest
  • ベストアンサー率31% (207/659)
回答No.3

> 三次方程式だったら三つの解をすべて求める というのは、虚数解や重解も求める、ということでしょうか?

maiahikkk
質問者

補足

すいません二重解と実数解だけです

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.2

考え方としては、 1. f(x)=0の解,x1を求める 2. f(x)/(x-x1)→f(x)として新しい目的の関数f1を作る 3. 1に戻って、次の解x2を求める という手順を繰り返せば、理屈の上では全ての実数解が求まります。 (実際には、計算修了判定に伴う誤差が累積するとかいった問題があるので、これを回避しないといけませんが)

maiahikkk
質問者

お礼

ありがとうございました

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

一発では無理ですね。 まずグラフを書かせて0を挟む両端を決めないといけないようです。

参考URL:
http://www.geocities.jp/supermisosan/nibunhou.html
maiahikkk
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう