1)sinX-cosX=0をRegular-Falsi法でときなさい
またx1=0 x2=1 ε=10^-6とする 途中経過がわかるように出力しなさい
2)x^2-sinX=0をNweton法でときなさい X0=1 ε=10^-6とする 途中経過がわかるように出力しなさい
よろしくお願いします。
よろしくお願いします
- purin52002
- 記事: 235
- 登録日時: 8年前
- 連絡を取る:
Re: よろしくお願いします
regularなんとか法というのを初めて聞いたので作ってみました^^
手元の電卓で計算したところおおよそ正しい出力だと思います^p^
手元の電卓で計算したところおおよそ正しい出力だと思います^p^
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: よろしくお願いします
2) Nweton法は過去ログで何度か答えてます。
Windows10、VS2017Community、C言語
Windows10、VS2017Community、C言語
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
/* --- f(x) 関数定義 --- */
double f(double x)
{
/* x^2-sinx=0 */
return x*x - sin(x);
}
double Df(double x)
{
/* 微分 2x-cosx=0 */
return 2*x - cos(x);
}
/* ---ニュートン法--- */
/* ---f:関数, x:初期値--- */
double newton(double(*fx)(double), double x)
{
double eps = 0.000001;
double xx;
do {
xx = x;
x = x - f(x) / Df(x);
printf("x = %f\n", x);
} while (fabs(x - xx) > eps);
return x;
}
int main()
{
double x;
x = 1;
printf("初期値 x=%f\n", x);
printf("ANS = %f\n", newton(f, x));
return 0;
}
1>------ ビルド開始: プロジェクト: ConsoleApplication1, 構成: Debug Win32 ------
1>c1.c
1>ConsoleApplication1.vcxproj -> D:\z17a\07\13\ConsoleApplication1\Debug\ConsoleApplication1.exe
1>ConsoleApplication1.vcxproj -> D:\z17a\07\13\ConsoleApplication1\Debug\ConsoleApplication1.pdb (Partial PDB)
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
Re: よろしくお願いします
あ、”数値微分”をするつもりだったけどやめたのでこれでいいのか。
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
/* --- f(x) 関数定義 --- */
double f(double x)
{
/* x^2-sinx=0 */
return x*x - sin(x);
}
double Df(double x)
{
/* 微分 2x-cosx=0 */
return 2*x - cos(x);
}
/* ---ニュートン法--- */
double newton(double x)
{
double eps = 0.000001;
double xx;
do {
xx = x;
x = x - f(x) / Df(x);
printf("x = %f\n", x);
} while (fabs(x - xx) > eps);
return x;
}
int main()
{
double x;
x = 1;
printf("初期値 x=%f\n", x);
printf("ANS = %f\n", newton(x));
return 0;
}
Re: よろしくお願いします
オフトピック
・Df(x)の値もチェックした方がよいのではないだろうか?
・初期値がいきなり解! ということも有り得ることを考慮すべきではないだろうか?
とか思ったり.
・初期値がいきなり解! ということも有り得ることを考慮すべきではないだろうか?
とか思ったり.