- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ニュートン法を使って解を求めるC言語プログラム)
ニュートン法を使って解を求めるC言語プログラム
このQ&Aのポイント
- C言語を使ってy=x^2-4xのyの解をニュートン法を使って求めるプログラムを作成しました。しかし、ニュートン法がよくわからず、微分についても理解がないため、プログラムの動作が正しくありません。
- このプログラムはコンパイルはできますが、ニュートン法の原理や微分の概念について理解がないため、正しい結果を返しません。
- ニュートン法についてできるだけ分かりやすく解説してほしいです。工業系の学校で数学の授業がなく、微分について知識がないため、具体的な説明が必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ニュートン法を理解するには、せめて微分の初歩の初歩は理解して下さい。 とりあえず、必要なところだけ。 y=x^2-4x の解をもとめるには、次のようにします。 計算途中の近似解をa(n)とすると、それを元に得られる、より精度の良い近似解a(n+1)は、 a(n+1)=(a(n)*a(n))/(2*a(n)-4) として求められます。(ニュートン法の理論から) これを繰り返していって、 |a(n+1)-a(n)| < 0.0001 となったときに、十分精度の良い解が得られたと判断し、計算を終了します。 (計算終了の閾値0.0001は提示されたプログラムから取りました。) プログラムの間違いは、下記の2点。 誤:scanf("%ld",&an); 正:scanf("%lf",&an); 誤:f=2*an-4; 正:f=g-an; an=g; 上記を修正し、初期値が2より大きい場合は4.000000が、初期値が2未満のときは 0.000000が求められることを確かめて下さい。
その他の回答 (1)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
下記URL参照。
お礼
できました。 ありがとうございます。