int main(void) { int i,nb=NBMAX; float *xb1,*xb2; xb1=vector(1,NBMAX); xb2=vector(1,NBMAX); zbrak(fx,X1,X2,N,xb1,xb2,&nb); printf("\nbrackets for roots of bessj0:\n"); printf("%21s %10s %16s %10s\n","lower","upper","f(lower)","f(upper)"); for (i=1;i<=nb;i++) printf("%s %2d %10.4f %10.4f %3s %10.4f %10.4f\n", " root ",i,xb1[i],xb2[i]," ", fx(xb1[i]),fx(xb2[i])); free_vector(xb2,1,NBMAX); free_vector(xb1,1,NBMAX); return 0; }
int main(void) { int i,nb=NBMAX; float xacc,root,*xb1,*xb2; xb1=vector(1,NBMAX); xb2=vector(1,NBMAX); zbrak(fx,X1,X2,N,xb1,xb2,&nb); printf("\nRoots of bessj0:\n"); printf("%21s %15s\n","x","f(x)"); for (i=1;i<=nb;i++) { xacc=(1.0e-6)*(xb1[i]+xb2[i])/2.0; root=rtsec(fx,xb1[i],xb2[i],xacc); printf("root %3d %14.6f %14.6f\n",i,root,fx(root)); } free_vector(xb2,1,NBMAX); free_vector(xb1,1,NBMAX); return 0; }