人生最悪の忘れ物

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

A 回答 (4件)

元の式f(x)が多項式なら、#2のプロセス中のf(x)/(x-x1)の処理でf(x)の次数を下げることができます。


(f(x)/(x-x1)も多項式になるので、この式の係数を多項式の組み立て除法使って計算できる)
こうすると、3次式の1実根が求まれば、3次式→二次式に落とすことができるので、あとは二次方程式の解の式を使ったり、再度数値解方で根を求めたりできます。

(元の式が3次以上の実係数多項式の場合には、二次式(x^2+qx+p)の積(+一つの一次式)に分解(pとqを数値解方で決定する)して、二次式の解の公式使って各解を決定する、というアルゴリズムも結構使われるようです。(複素解も全て求めることができます))
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2006/01/11 21:51

> 三次方程式だったら三つの解をすべて求める



というのは、虚数解や重解も求める、ということでしょうか?

この回答への補足

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

補足日時:2005/11/23 19:13
    • good
    • 0

考え方としては、


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

ありがとうございました

お礼日時:2006/01/11 21:52

一発では無理ですね。


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

参考URL:http://www.geocities.jp/supermisosan/nibunhou.html
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/01/11 21:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!