#include #include /* newtnop.c : 1999 3 9 by Oguni */ #define N 20 double func(double x); double deriv2(double x); double deriv1(double x); main(){ int itr[2]={20,1}, it; double tol=0.000001, x[N]; x[0]=-0.5; newtnop(x,tol,itr); it=itr[1]; printf("%d %f\n", it, x[it]); } /* function */ double deriv2(double x) { double y; y=-sin(x)+cos(x); return y; } double deriv1(double x) { double y; y=cos(x)+sin(x); return y; } double func(double x) { double y; y=sin(x)-cos(x); return y; } newtnop(x,tol,itr) double x[N],tol; int itr[2]; { int it; double res=100000.0, xnew, p; it=0; while (itr[1]