#include #include /* set logscale x set logscale y plot "deriv.dat" pt 5 ps 2,x*x lc 0 */ double f(double x){ return 1000000000.0+sqrt(x); } double df(double x){ return 1/(2*sqrt(x)); } double Eh(double x,double h){ return fabs((f(x+h)-f(x-h))/(2*h)-df(x)); } int main(){ double h=1; for(int i=0;i<20;i++){ printf("%g %22.15e\n",h,Eh(2,h)); h/=2; } return 0; }