东南大学数值分析上机题答案.doc

东南大学数值分析上机题答案.doc

ID:57065455

大小:792.50 KB

页数:22页

时间:2020-07-31

东南大学数值分析上机题答案.doc_第1页
东南大学数值分析上机题答案.doc_第2页
东南大学数值分析上机题答案.doc_第3页
东南大学数值分析上机题答案.doc_第4页
东南大学数值分析上机题答案.doc_第5页
资源描述:

《东南大学数值分析上机题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数值分析上机题第一章17.(上机题)舍入误差与有效数设,其精确值为。(1)编制按从大到小的顺序,计算的通用程序;(2)编制按从小到大的顺序,计算的通用程序;(3)按两种顺序分别计算,,,并指出有效位数(编制程序时用单精度);(4)通过本上机题,你明白了什么?解:程序:(1)从大到小的顺序计算:functionsn1=fromlarge(n)%从大到小计算sn1formatlong;sn1=single(0);form=2:1:nsn1=sn1+1/(m^2-1);endend(2)从小到大计算functionsn2=fromsmall(n)%从

2、小到大计算sn2formatlong;sn2=single(0);form=n:-1:2sn2=sn2+1/(m^2-1);endend(3)总的编程程序为:functionp203()clearallformatlong;n=input('pleaseenteranumberasthen:')sn=1/2*(3/2-1/n-1/(n+1));%精确值为snfprintf('精确值为%f',sn);sn1=fromlarge(n);fprintf('从大到小计算的值为%f',sn1);sn2=fromsmall(n);fprintf('

3、从小到大计算的值为%f',sn2);functionsn1=fromlarge(n)%从大到小计算sn1formatlong;sn1=single(0);form=2:1:nsn1=sn1+1/(m^2-1);endendfunctionsn2=fromsmall(n)%从小到大计算sn2formatlong;sn2=single(0);form=n:-1:2sn2=sn2+1/(m^2-1);endendend运行结果:从而可以得到N值真值顺序值有效位数0.740050从大到小0.7400495从小到大0.74005060.749900从

4、大到小0.7498523从小到大0.74990060.749999从大到小0.7498523从小到大0.7499996(4)感想:通过本上机题,我明白了,从小到大计算数值的精确位数比较高而且与真值较为接近,而从大到小计算数值的精确位数比较低。机器数在进行加法运算时,用从大到小的顺序容易出现大数吃小数的情况,容易产生较大的误差,是因为对于相加的两个数值,计算机首先提供与大数相一致的位数,此时将小数的尾数向右移位,并进行四舍五入,之后对尾数进行依次相加。从大到小时,越往后计算,相加的数越小,从而出现大数吃小数的情况。相比之下。从小到大计算时,每次小

5、数与大数相加,都会增加位数,从而精确度比较高。第二章20.(上机题)Newton迭代法(1)给定初值及容许误差ε,编制Newton法解方程=0根的通用程序。(2)给定方程,易知其有三个根=-,=0,=。①有Newton方法的局部收敛性可知存在δ>0,当(-δ,δ)时Newton迭代序列收敛于根,试确定尽可能大的δ;②试取若干初始值,观察当(-∞,-1),(-1,-δ),(-δ,δ),(δ,1),(1,+∞)时Newton序列是否收敛以及收敛于哪一个根。(3)通过本上机题,你明白了什么?解:(1)程序先编写函数function文件:文件fx.m%

6、定义函数f(x)functionFx=fx(x)Fx=x^3/3-x;文件dfx.m%定义导函数df(x)%functionfx=dfx(x)fx=x^2-1;接下来是具体步骤文件newton1.m求尽可能大的delta值%%课本56页计算最大delta值clearflag=1;k=1;x0=0;whileflag==1delta=k*10^-6;x0=delta;k=k+1;m=0;flag1=1;whileflag1==1&&m<=10^3x1=x0-fx(x0)/dfx(x0);ifabs(x1-x0)<10^-6flag1=0;endm

7、=m+1;x0=x1;endifflag1==1

8、

9、abs(x0)>=10^-6flag=0;endendfprintf('%f',delta);文件newton2.m求方程的根%%课本56页newton法求方程的根,确定收敛于哪个根formatlong;ef=1e-6;k=0;x0=input('pleaseentertheinitialnumberasthex0:');whilek<1000x1=x0-fx(x0)/dfx(x0);ifabs(x1-x0)

10、f',x0);(1)运行结果①求尽可能大的delta值②判断收敛于哪个根。已知有三个根,=-,=0,=。,(-1,-δ),(-δ,δ),(δ,1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。