• ベストアンサー

C言語のプログラムの問題で質問です。

C言語のプログラムの問題で質問です。 問題は、 与えられた実数(a,b,c,d)に対して、次の連立非線形方程式の解 を「ニュートン法」を用いて解く。 f1(x,y)=y+ax^2-b=0 f2(x,y)=y^2+cx^2-d=0 ただし初期値(a,b,c,d)を入力でき、上記の方程式の解が画面表示されること。 という問題です。 普通の連立方程式を解くプログラムならできるのですが、ニュートン法 で解くというのが分かりません。 プログラムを教えてください。参考にしたいです。

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

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

> 普通の連立方程式を解くプログラムならできるのですが、ニュートン法 > で解くというのが分かりません。 と言うことは、ニュートン法のアルゴリズムがわからないということか? a,b,c,dを入力する。その後 x,yの初期値は適当に決めておいて f1=y+a*x^2-b f2=y^2+c*x^2-d df1dx=2*a*x df1dy=1 df2dx=2*c*x df2dy=2*y denom=df1dx*df2dy-df1dy*df2dx x-=(df2dy*f1-df1dy+f2)/denom y-=(-df2dx*f1+df1dx+f2)/denom を適当なところまで繰り返すだけですよ。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「ニュートン法」が分からないなら調べるだけでしょ? 困るところは何もないと思うんだがなぁ.

関連するQ&A