• 締切済み

ニュートン法の計算について

3次方程式 X^3+3X^2-3X-4=0 は区間(-4,-3),(-1,0),(1,2)にそれぞれ1つの実数解をもつ。ニュートン法により、3つの実数解を小数点以下8桁まで正確に求めよ。 上の問題をニュートン法で解きたいのですが、初期値はどうすればいいのでしょうか? -4、-1、1 でいいのでしょうか? 初期値を決めれば、あとは3つの初期値を使って普通にニュートン法で計算すれば解けますよね?? 数学が苦手で困っています。 回答お願いします。

みんなの回答

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.3

今回の問題では、貴方の初期値で 三個ともちゃんと求まりますが… ニュートン法が目的の解に収束するための 初期値の集合は、簡単な代数方程式に対しても フラクタルになる可能性があり、 一般論は容易ではありません。 なるべく解に近いとこから始めたほうがいい …くらいのことしか言えそうにないです。 区間の左端がいいとか、右端がいいとか、 中点がいいとか、そんな簡単な話ではありません。 ニュートン法の逐次解が単調に解へ近づく場合は 収束が簡単に示せますから、 初回の漸化で解の反対側に行かないように 初期値を選ぶことができるならば、 その初期値は安全と言えるでしょう。 その意味では、今回 (1,2) の初期値は 1 よりも 2 のほうが筋がいいかもしれません。 また、精度についてですが、 ニュートン法では、f/f' の大きさから 逐次解の誤差を見積もることはできません。 漸化して必要な桁数の値が変わらなかったから その精度では収束した…というのは、誤解です。 そんな保証はありません。 漸化した際の値の変化がある程度小さくなったら、 x = 逐次解±許容誤差 を f(x)=0 へ代入してみて f(x) の符号が異なるかどうか確認するのが、 唯一の正確な判定方法です。

  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.2

>初期値はどうすればいいのでしょうか? >-4、-1、1 でいいのでしょうか? これでもいいですが、僕なら、区間(-4,-3),(-1,0),(1,2)の中点である x=-3.5,-0.5,1.5を初期値に使います。その方がベターでしょう。 >初期値を決めれば、あとは3つの初期値を使って普通にニュートン法で計算すれば解けますよね? そうです。近似値からより正確な近似値を求める操作を、近似値が小数点以下9桁まで一致するまで計算を繰り返します。9桁目まで一致したら繰り返し計算を終わりにして、小数点以下9桁目を四捨五入して、小数点以下8桁までとって答えとします。これを3回行なって、3次方程式の3つの解の近似値を求めます。、 結果: -3.52891796 -0.83255081 1.361468766

回答No.1

>上の問題をニュートン法で解きたいのですが、初期値はどうすればいいのでしょうか? >-4、-1、1 でいいのでしょうか? >初期値を決めれば、あとは3つの初期値を使って普通にニュートン法で計算すれば解けますよね? 普通は、それで大丈夫なはずです。 ニュートン法は、たまにうまくいかないときもありますが、 そういうのに当たったら、まずは、区間の逆の端の方を 初期値して試す、これでうまくいくことが多いですし、 それでもダメなら、区間の途中の値を適当にとって、初期値にしてみる、 かなり運が悪くても、いくつか試せば、どれかで何とかなるはずです。

関連するQ&A

  • 数理計算法に関して教えてください!

    ニュートン法の問題です。 3次方程式 X^3+3X^2-3X-4=0 は区間(-4,-3),(-1,0),(1,2)にそれぞれ1つの実数解をもつ。ニュートン法により、3つの実数解を小数点以下8桁まで正確に求めよ。 エクセルを用いて求めたいのですが、わかりません。 どなたか回答、お願いいたします。

  • 数値計算

    次の2つなのですが 1.ニュートン法により3次方程式 X^3+3X^2-3X-4=0 の実数解 2.2分法により、3次方程式 X^3-3X+1=0 の区(0,1)における解 解を小数点以下8桁まで正確に求めるにはどうすればいいのですか??

  • ニュートン法

    excelVBAを使っています。 ニュートン法を使って3次方程式を解こうとしています。 例題)x^3-6x^2+11x-6=0    x=1,2,3 初期値x0によって、解がx=1,2,3のどれかに収束します。 ここで、全ての実数解を求める考え方をご教授下さい。 f(x)=x^3-6x^2+11x-6=0の解x1が求まった後、 f(x)=(x-x1)g(x)なるg(x)を求めるといったことが、あるサイトに書かれてあったのですが、なぜそうなるのか理解できません・・・

  • ニュートン法

    こんにちは。 aを解とするある非線形方程式に,aの近傍の値x0を初期値としてニュートン法を一反復だけ適用したところ、誤差は |x0-a|=10^-4から|x1-a|=10^-7に減少した。このとき、ニュートン法をもう一反復適用したら誤差|x2-a|はどの程度になると推定されるのでしょうか?

  • ニュートン法で解が収束しない

    こんにちは。 差分式で表した非線形方程式をニュートン法で解いています。が収束しな解あります。ニュートン法は初期値に依存しているため、初期値を可変的にしてみましたがダメでした。何かいい方法はないでしょうか? 参考になるか分かりませんが、使っているプログラムのニュートン法の計算の一部は以下のようです。 call g(x,f,df) h=f/df x=x-h if(dabs(h/x)<1.d-14) then  return endif

  • 二分法について

    (1) f(x)=0の解aを内部に含む長さ1の区間から出発して、二分法で解の近似値を計算するとき、誤差が0.01以下になるようにするには、「中点におけるf(x)の値を求め、その符号を調べる」という計算を何回行う必要があるか。 (2)区間[1,2]から出発して、二分法でx^2-2=oの解√2の値を小数点以下第二桁まで正確に得るためには何回の計算が必要か。実際に縮小する区間列を計算によって求めることにより調べよ。 二分法の計算方法はわかるのですが(1)はとりかかり方がわからず、(2)は、縮小する区間列の計算がわかりません。 心優しい方、お助けねがいます。

  • 3次方程式の実数解をニュートン法でプログラムしたいのですがどう手をつけ

    3次方程式の実数解をニュートン法でプログラムしたいのですがどう手をつけていいか分かりません・・・ √を求めたりする簡単な方法はプログラムはできました 式はx^3-7*x^2+18*x-18=0です まだまだ初心者lvを抜け出せません・・・よろしくお願いします

  • ニュートン法

    ニュートン法 ニュートン法で「根」って出てくるんですが、これって方程式でいう「解」のことですか? いろいろネットで調べてみたのですが、あまりにも初歩的すぎるようで載ってないんです。 宜しくお願いします。

  • mathematicaにおけるニュートン法の精度

    mathematicaを使ってニュートン法(FindRoot)を利用して方程式の解を求めました。 ここで一つ質問なのですがニュートン法は最終的に接線とx軸の交点Xnにおいて |Xn-Xn-1|<εを満たすようなXnを求めるまで計算を繰り返しますがmathematicaのニュートン法FindRootではこのεの値は何なのでしょうが。 知っている方よろしくお願いいたします。

  • ニュートン法について

    ニュートン法について 3次方程式x^3-30x^2+200x=0は0,10,20を根とする。 このことを使って、ニュートン法を1回用いることにより、x^3-30x^2+200x+1=0の根で10に近いものの近似値を求めよ。 ちなみにニュートン法は「aがf(a)=0の根に十分近ければ、a-f(a)/f’(a)は更に精密な近似値となる」です。 数学に詳しい方に答えていただけると幸いです。 宜しくお願いいたします。