• ベストアンサー

ごく限られた条件においてニュートン法で収束しません

未知数が3つの非線形連立方程式をニュートン・ラフソン法で解いています。しかし、ごく限られた条件において、添付図の赤プロットように誤差が減っては増えるを繰り返し、収束しきい値に及びません。すぐ隣の条件では青プロットのように問題なく収束します。 本問題の解決策として、識者の方より、非線形方程式が不連続にならないように弱いばねを与えることを教わり、それによって収束しない範囲は激減しましたが、それでもごく一部残っている状況です。 なお、連立3元1次方程式の解法は掃き出し法で行っています(ピボット操作しています)。 解決策をご存じの方、また同様なご経験をお持ちの方がおられましたら、お知恵をお借りしたく、よろしくお願いいたします。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8023/17148)
回答No.2

> もちろん初期値は変えたことがあります。しかし、収束しない条件がどこかに移るだけで、抜本策にはなりませんでした。 初期値は,条件によって変えるべきものです。収束する値の近くからループさせると必ず収束します。どのくらいの差を収束するというかはもんだによりますが,似た条件で収束する値がわかっているのなら,その値を初期にすべきです。いつも同じ初期値から始めるのは考えが足りません。

mitkbor
質問者

お礼

再度、早々にご回答いただき、ありがとうございます。条件に応じて適切な初期値を与えられるように改良してみたいと思います。

Powered by GRATICA

その他の回答 (1)

  • f272
  • ベストアンサー率46% (8023/17148)
回答No.1

繰り返し数が一定値を超えても収束していないときは計算を打ち切り,ニュートン法の初期値を変えて再度,計算します。

mitkbor
質問者

お礼

早速ご回答いただき、ありがとうございました。回答が遅れ失礼いたしました。もちろん初期値は変えたことがあります。しかし、収束しない条件がどこかに移るだけで、抜本策にはなりませんでした。

Powered by GRATICA

関連するQ&A

  • ニュートンラフソン法について

    ニュートンラフソン法についての質問です。ニュートンラフソン法を利用するプログラム課題は理解できるのですが、別の問題の一つである次の問題をどう考えていけばよいのかわからないです。 「次の連立方程式f(x,y)=0、g(x,y)=0に対するニュートンラフソン法の反復公式を誘導せよ。」  参考書を調べますと一般のニュートンラフソン法はテーラー展開を用いて証明しているので、これも何らかの形でテーラー展開を利用するのではないかと思いますが、そこから先へ進めなくて困っています。よろしければどなたかコメントお願いいたします。

  • ニュートン・ラフソン法

    ルートについて、ニュートン・ラフソン法で解き、何回繰り返せば値が収束できるか確認するプログラムを作成するって課題がでたんですが、どんなことをすればいいのでしょうか? ニュートン・ラフソン法について調べたのですが、いまいち何をしていいか分からなかったので教えてください。

  • ニュートン法で収束を保証するための十分条件について

    ニュートン法が収束するための条件を教えて下さい。 このときニュートン法が収束したとみなす条件ではなく、収束を保証するための十分条件を教えて下さい。 よろしくお願いします。

  • 多次元のニュートン・ラフソン法について

    質問させてもらいます。 二次元のニュートン・ラフソン法は理解したつもりなのですが。 f(x,y,z)=2x^2+y^2+z^2 の式が与えられた時、 この場合ニュートンラフソン法はどのように式として示し、証明にいたればいいのでしょうか? ニュートンラフソン法の考え方を踏襲するのであれば、 x成分、y成分、z成分の各成分について考えればいいのでしょうか? 多くの例題では二変数の連立方程式で…… とかかれてますが、 適用できない気がするのですが……?

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

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

  • 二分法、定点法、ニュートン法の比較

    数値解析で、二分法、定点法、ニュートン法(ニュートンラフソン法)でもっとも的確で効率がいいのはどれなのでしょうか。 ニュートン法が早いのはわかるのですが、微分した式を見つけられないこともあることを考えると、安易には決められないように思います。 多項式、三角方程式、指数方程式などタイプによってどの方法が効率的、というふうに決められるのでしょうか? まとまっていない質問ですみません。わかる方がいらっしゃいましたらよろしくお願いします。

  • ニュートン法

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

  • 3連立非線型方程式の解法プログラム(ニュートン法)を教えてください

     未知数が3つで非常に難解な非線型方程式を3連立方程式にして解きたいと思っています。  ですが、手計算による代入法等の解法を行うと、とんでもなく式が長くなってしまいとても解けません。そこでc言語のプログラミングにて計算し、3連立方程式から3つ未知数の解を求めたいのですが、プログラミングはまったくの初心者であるため、いまいちよく分かりません。  解法プログラミングとしてはニュートン法が最も適切だとお聞きしました。ニュートン法にて例として下記のような式を解く場合、どのようにプログラムすれば良いか教えていただけたら幸いです。 例 2*x*x*x + 4*x*y + cos(z) = 0 x*x*y*z + logz + 2*y = 0 2*x*x + y*z +z*z*z +4 + e~(-xy) =0  この例は私が勝手に作成したので解は存在しているかわかりませんが、実際にこのような3連立非線型方程式を解く場合はどのようなプログラムになるか教えていただけたら幸いです。また、実際に私が解こうと思っている式はこの例より非常に長いものとなっています。あつかましいようですがそのことを考慮に入れてお教え頂けたら幸いです。何卒お願いいたしします。

  • ニュートン法、2分法について

    ニュートン法、2分法について質問があります。 この二つの長所と短所はなんですか? ニュートン法はf'が0のとき解に収束しないのがわかりましたがほかにもありますか こういう場合はこっちのほうがすぐれているなどがありましたらお願いします。

  • ニュートン法

    ニュートン法の問題です。 全平面で正則な複素関数f(z)=u(x,y)+i*v(x,y)(z=x+iy) の零点を求めるニュートン法は z(k+1)=z(k)-f(z(k))/f'(z(k)) ですが、 これは2元連立方程式 u(x,y)=0 v(x,y)=0 を解くニュートン法と等価であることを示せ という問題です。 とっかかりからわからないのですが、複素関数の微分の表現の仕方がわからないのと、u(x,y)=0のように2変数でしかも、抽象的に書かれるとニュートン法がわかりにくくなっているという点で困っています。 分かる方、解説よろしくお願いします。