数值分析第六章 课后习题 常州大学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4、用迭代方法求解下述方程在给定 x0 附近的根,要求误差不超过 10-4: (3) x 2 -2 ln x-5 0 ,x0 3wk.baidu.com 解:设将上述方程改写成下列形式:
x 2 ln x 5
并据此建立迭代公式
xk 1 2 ln xk 5 k xk , k 0, 1, 2
下表为各步迭代结果,计算表明上述迭代收敛,且方程根近似为 2.63381 0 3.00000 1 2.68276 2 2.64078 3 2.63480 4 2.63393 5 2.63381 6 2.63381
2
数值分析作业三 1、试给出下述方程的有根区间或初试近似根: 解: (1) 3 x 3 2 x 2 0 令 f x 3 x 3 2 x 2 ,
f ' x 9 x 2 2 令f ' x 0, 得:x 则,f x 在 2 或x 3 2 , 或 , 3 2 3 2 单调递增。 3
2 0 ,所以f x 有且仅有一个零点。 且f 3 且有f 2 0 ,f 1 0 所以,原方程的根在 - 2, - 1区间内。
2、利用二分法求上述方程的根,要求误差不超过 10-2。 解:function [c,err,yc,k]=bisect(f,a,b,epsilon) yb=f(b);ya=f(a);max1=1+round((log(b-a)-log( epsilon))/log(2)); flag=1;k=0; while flag==1 end end c=(a+b)/2; err=abs(b-a); yc=f(c); k=max1; return k=1:max1; c=(a+b)/2; yc=f(c); if yc==0 a=c; b=c; elseif yb*yc>0 b=c; yb=yc; else a=-2;b=-1; n=20;epsilon=1e-2; f=@(x)(3x^3-2*x+2); [c,err,yc,k]=bisect(f,a,b,epsilon) 输出结果: c= err = yc = k= -1.1211 0.0078 0.0150 8 end if b-a<epsilon break a=c; ya=yc;
x
3
2x
2
x 2 0
3、编写 matlab 程序,用二分法求方程 x 2 x x 2 0 的根,并给出各自达到精度要求 所需计算函数值 f(x)的次数,这里设 0.5 10 2 。 解:二分法:
1
3
2
数值分析作业三 function [c,err,yc,k]=bisect(f,a,b,epsilon) yb=f(b);ya=f(a);max1=1+round((log(b-a)-log( epsilon))/log(2)); flag=1;k=0; while flag==1 end end c=(a+b)/2; err=abs(b-a); yc=f(c); k=max1; return k=1:max1; c=(a+b)/2; yc=f(c); if yc==0 a=c; b=c; elseif yb*yc>0 b=c; yb=yc; a=-2.5;b=-1.5; n=20;epsilon=0.5e-2; f=@(x)(x^3+2*x^2-x-2); [c,err,yc,k]=bisect(f,a,b,epsilon) 输出结果为: c =-2 err =0 yc =0 k =9 end if b-a<epsilon break else a=c; ya=yc;
相关文档
最新文档