このグラフが書きたいんですが。。
#include <stdio.h>
#include <math.h>
#define KMAX 20
void eval(float x,float *f,float *df)
{
float e;
e= exp(-x);
*f= x-e;
*df= 1+e;
return;
}
void main()
{
float x, eps, f, df, d;
int k;
scanf("%g%g", &x, &eps);
printf("Solution of f(x)=x-eps(-x)=0\n");
printf("Convergence criterion |f(x)|<%G\n\n", eps);
printf(" k\tx\t\tf(x)\t\tf'(x)\t\tcorrection\n");
for(k=0;k<KMAX;k++){
eval(x, &f, &df);
d= -f/df;
printf("%2d %15.6e %15.6e %15.6e %15.6e\n", k, x, f, df, d);
x += d;
if(fabs(f)<eps)
break;
}
if(k>=KMAX)
printf("divergent?\n");
printf("\nroot=%g\n", x);
}
この解における収束状況をグラフを書いて確かめたいのですがどうやって、何で書いたらいいのかわかりません。教えてください!このプログラムはC++で書いたNewton法です。
補足
なるほど 定義域見落としてました