东南大学数值分析上机题作业MATLAB版.

上机作业题报告 1.Chapter 11.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);for i=2:N Snl2s=Snl2s+1/(i*i-1);endfor i=N:-1:2 Sns2l=Sns2l+1/(i*i-1);endfprintf('精确值为: %f\n',Ac);fprintf('从大到小的顺序累加得SN=%f\n',Snl2s);fprintf('从小到大的顺序累加得SN=%f\n',Sns2l);disp('========================================================');1.2程序>> P20T17请输入N值:10^2精确值为: 0.740049从大到小的顺序累加得SN=0.740049从小到大的顺序累加得SN=0.740050============================================================>> P20T17请输入N值:10^4精确值为: 0.749900从大到小的顺序累加得SN=0.7498521.3运行结果从小到大的顺序累加得SN=0.749900============================================================>> P20T17请输入N值:10^6精确值为: 0.749999从大到小的顺序累加得SN=0.749852从小到大的顺序累加得SN=0.749999============================================================1.4结果分析按从大到小的顺序,有效位数分别为:6,4,3。按从小到大的顺序,有效位数分别为:5,6,6。可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。2.Chapter 22.1题目(1)给定初值及容许误差,编制牛顿法解方程f(x)=0的通用程序。(2)给定方程,易知其有三个根由牛顿方法的局部收敛性可知存在当时,Newton迭代序列收敛于根x2*。试确定尽可能大的。试取若干初始值,观察当时Newton序列的收敛性以及收敛于哪一个根。(3)通过本上机题,你明白了什么?2.2程序函数m文件:fu.mfunction Fu=fu(x)Fu=x^3/3-x;end函数m文件:dfu.mfunction Fu=dfu(x)Fu=x^2-1;end用Newton法求根的通用程序Newton.mclear;x0=input('请输入初值x0:');ep=input('请输入容许误差:');flag=1;while flag==1 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0; endendfprintf('最大的sigma值为:%f\n',sigma);2.3运行结果(1)寻找最大的值。算法为:将初值x0在从0开始不断累加搜索精度eps,带入Newton迭代公式,直到求得的根不再收敛于0为止,此时的x0值即为最大的sigma值。运行Find.m,得到在不同的搜索精度下的最大sigma值。>> Find请输入搜索精度:10^-6请输入容许误差:10^-6最大的sigma值为:0.774597>> Find请输入搜索精度:10^-4请输入容许误差:10^-6最大的sigma值为:0.774600>> Find请输入

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐