double f(double x);
double a[N],b[N],I[N],err[N],relerr[N]; int i,n;
a[0]=0.10,b[0]=0.20;//预估它们的初始区间// for(i=0;i<N;i++) {
I[i]=b[i]-(f(b[i])*(b[i]-a[i]))/(f(b[i])-f(a[i]))
;//试值法公式,有书上给出。//
if((f(a[i])*f(I[i]))>0)
a[i+1]=I[i],b[i+1]=b[i];//根据试值法,判断区间。//
else
a[i+1]=a[i],b[i+1]=I[i];//根据试值法,判断区间。//
err[i]=fabs(I[i]-I[i-1]);//对绝对误差的运算。// relerr[i]=err[i]/(fabs(I[i])+FLT_EPSILON);//对相对误差的运算。//
n=i;//将i值赋给n,使输出能够在合适的时候停下来。// if(err[i]<pre||relerr[i]<pre) break;//判断循环在何处达到规定精度,并跳出循环。//
}
err[0]=I[0]-0;//定义初始误差,便于下面输出。//
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库非线性方程的数值计算方法实验(12)在线全文阅读。
相关推荐: