计算方法第二章作业答案参考.docx
《计算方法第二章作业答案参考.docx》由会员分享,可在线阅读,更多相关《计算方法第二章作业答案参考.docx(4页珍藏版)》请在冰豆网上搜索。
计算方法第二章作业答案参考
习题二
1.用二分法求方程
在区间【0.3,0.4】内的根,要求误差不超过
。
#include
#include
#definef(x)(x)*(x)*(x)*(x)-3*(x)+1
main()
{
doublemid=0,x1=0.3,x2=0.4;
while
(1)
{mid=(x1+x2)/2;
if(f(mid)<0){x2=mid;printf("x1=%10f,x2=%10f\n",x1,x2);}
elseif(f(mid)>0){x1=mid;printf("x1=%10f,x2=%10f\n",x1,x2);}
elsebreak;}
printf("因此,x=%f\n",mid);
}
3.方程
在1.5附近有根,把方程写成4种不同的等价形式,并建立相应的迭代公式。
(1)
,
#include
#include
#definef(x)pow(1+(x)*(x),1.0/3)
main()
{
floatx1=1.3;
inti;
for(i=0;i<20;i++)
{
x1=f(x1);
printf("%10f",x1);
}
printf("\n因此,x=%f\n",x1);
}
(2)
,
#include
#include
#definef(x)1+1.0/(x*x)
main()
{
floatx1=1.3;
inti;
for(i=0;i<20;i++)
{
x1=f(x1);
printf("%10f",x1);
}
printf("\n因此,x=%f\n",x1);
}
(3)
,
#include
#include
#definef(x)pow(x-1,-1*1.0/2)
main()
{
floatx1=1.3;
inti;
for(i=0;i<20;i++)
{
x1=f(x1);
printf("%10f",x1);