欢迎来到天天文库
浏览记录
ID:5893940
大小:70.82 KB
页数:19页
时间:2017-12-27
《东南大学 数值分析上机题作业 matlab版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2015.1.9上机作业题报告1.Chapter11.1题目设SN=j=2N1j2-1,其精确值为。(1)编制按从大到小的顺序,计算SN的通用程序。(2)编制按从小到大的顺序,计算SN的通用程序。(3)按两种顺序分别计算,并指出有效位数。(编制程序时用单精度)(4)通过本次上机题,你明白了什么?clear;N=input('请输入N值:');Ac=single((3/2-1/N-1/(N+1))/2);Snl2s=single(0);Sns2l=single(0);fori=2:NSnl2s=Snl2s+1/(i*i-1);endfo
2、ri=N:-1:2Sns2l=Sns2l+1/(i*i-1);endfprintf('精确值为:%f',Ac);fprintf('从大到小的顺序累加得SN=%f',Snl2s);fprintf('从小到大的顺序累加得SN=%f',Sns2l);disp('========================================================');1.2程序>>P20T17请输入N值:10^2精确值为:0.740049从大到小的顺序累加得SN=0.740049从小到大的顺序累加得SN=0.74005
3、0============================================================>>P20T17请输入N值:10^4精确值为:0.749900从大到小的顺序累加得SN=0.7498521.3运行结果从小到大的顺序累加得SN=0.749900============================================================>>P20T17请输入N值:10^6精确值为:0.749999从大到小的顺序累加得SN=0.749852从小到大的顺序累加得SN=0.74
4、9999============================================================1.4结果分析按从大到小的顺序,有效位数分别为:6,4,3。按从小到大的顺序,有效位数分别为:5,6,6。可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。2.Chapter22.1题目(1)给定初值及容许误差,编制牛顿法解方程f(
5、x)=0的通用程序。(2)给定方程,易知其有三个根由牛顿方法的局部收敛性可知存在当时,Newton迭代序列收敛于根x2*。试确定尽可能大的δ。试取若干初始值,观察当时Newton序列的收敛性以及收敛于哪一个根。(3)通过本上机题,你明白了什么?2.2程序f(x)函数m文件:fu.mfunctionFu=fu(x)Fu=x^3/3-x;endf'(x)函数m文件:dfu.mfunctionFu=dfu(x)Fu=x^2-1;end用Newton法求根的通用程序Newton.mclear;x0=input('请输入初值x0:');ep=i
6、nput('请输入容许误差:');flag=1;whileflag==1x1=x0-fu(x0)/dfu(x0);ifabs(x1-x0)7、0^3x1=x0-fu(x0)/dfu(x0);ifabs(x1-x0)8、9、abs(x0)>=epflag=0;endendfprintf('最大的sigma值为:%f',sigma);2.3运行结果(1)寻找最大的δ值。算法为:将初值x0在从0开始不断累加搜索精度eps,带入Newton迭代公式,直到求得的根不再收敛于0为止,此时的x0值即为最大的sigma值。运行Find.m,得到在不同的搜索精度下的最大sigma值。>>Find请输入搜索精度:1010、^-6请输入容许误差:10^-6最大的sigma值为:0.774597>>Find请输入搜索精度:10^-4请输入容许误差:10^-6最大的sigma值为:0.774600>>Find请输入搜索精度:10^-2请输入容许
7、0^3x1=x0-fu(x0)/dfu(x0);ifabs(x1-x0)8、9、abs(x0)>=epflag=0;endendfprintf('最大的sigma值为:%f',sigma);2.3运行结果(1)寻找最大的δ值。算法为:将初值x0在从0开始不断累加搜索精度eps,带入Newton迭代公式,直到求得的根不再收敛于0为止,此时的x0值即为最大的sigma值。运行Find.m,得到在不同的搜索精度下的最大sigma值。>>Find请输入搜索精度:1010、^-6请输入容许误差:10^-6最大的sigma值为:0.774597>>Find请输入搜索精度:10^-4请输入容许误差:10^-6最大的sigma值为:0.774600>>Find请输入搜索精度:10^-2请输入容许
8、
9、abs(x0)>=epflag=0;endendfprintf('最大的sigma值为:%f',sigma);2.3运行结果(1)寻找最大的δ值。算法为:将初值x0在从0开始不断累加搜索精度eps,带入Newton迭代公式,直到求得的根不再收敛于0为止,此时的x0值即为最大的sigma值。运行Find.m,得到在不同的搜索精度下的最大sigma值。>>Find请输入搜索精度:10
10、^-6请输入容许误差:10^-6最大的sigma值为:0.774597>>Find请输入搜索精度:10^-4请输入容许误差:10^-6最大的sigma值为:0.774600>>Find请输入搜索精度:10^-2请输入容许
此文档下载收益归作者所有