东南大学数值分析编程作业.docx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Word可编辑 数值分析编程作业 姓 名:卢一鸣 学 号:151106 指导老师:吴宏伟 目录 TOC \o 1-3 \h \z \u P20.第17题:舍入误差与有效数 3 P56.第20题:Newton迭代法 5 P126.第39题:列主元Gauss消去法 13 P127.第40题:逐次超松弛迭代法 16 P195.第37题:3次样条插值函数 21 P256.第23题:重积分的计算 23 P307.第23题:常微分方程初值问题数值解 25 P346.第10题:抛物方程Crank-Nicolson格式 30 注:源程序放在对应的文件夹里,如第一题放在“P20.第17题:舍入误差与有效数〞文件夹里; P20.第17题:舍入误差与有效数 设 〔1〕编制按从小到大的顺序,计算的通用程序; 〔2〕编制按从小到大的顺序,计算的通用程序; 〔3〕按两种顺序分别计算,,,并指出有效位数〔编制程序时用单精度〕; 〔4〕通过本上机题你明白了什么? 答 〔1〕〔2〕程序:程序放在computation.m, goon.m文件里,运行程序时只需输入命令main即可。 %此函数为main函数 %此函数第一个for循环N按从小到大顺序disp([blanks(0),本函数三种SN值:]); disp([blanks(10),N按从小到大]); disp([blanks(10),N按从大到小]); disp([blanks(10),真实值]); for N=[100 10000 1000000] w=sprintf(%s%d,N=,N); disp([blanks(15),w]); computation(N); end goon(); function [ a ] = computation( N ) %本函数计算三种SN值:N按从小到大,N按从大到小,真实值 %第二个for循环N按从大到小顺序 %第二个for循环N按从大到小顺序 SN=0; SN=single(SN); %N从小到大的顺序 for i=2:N SN=SN+1/(i*i-1); end a=sprintf(%5.20f,SN); disp([blanks(10),a]); SN=0; SN=single(SN); %N从大到小的顺序 for i=N:-1:2 SN=SN+1/(i*i-1); end a=sprintf(%5.20f,SN); disp([blanks(10),a]); %真实值 b=0.5*(1.5-1/N-1/(N+1)); b=sprintf(%5.20f,SN); disp([blanks(10),b]); end function [ a ] = goon( ) %UNTITLED3 Summary of this function goes here % Detailed explanation goes here while 1 disp(现在你可以尝试其他的N值,如想结束程序,请输入N=1); N=input(请输入N:); if N=1 return; else w=sprintf(%s%d,N=,N); disp([blanks(15),w]); computation(N); end end 〔3〕运行结果: N=100时,S1有6位有效数字,S2都是有效数字 N=10000时,S1有4位有效数字,S2都是有效数字 N=1000000时,S1有3位有效数字,S2都是有效数字 〔4〕体会:当N从小到大变化时,SN的项从大到小,反之SN的项从小到大。 从运算结果可见,第一种计算结果总是比第2、3种计算结果小,这是由于大数吃小数的原因〔计算机表示一个数值是用字节表示的,当程序进行计算时,先将第一项和第二项相加,然后再加第三项……所以加到后面会由于项的值很小,不能加到这个字节里,所以就被忽略了。〕第2、3种计算结果一样,说明当N从大到小变化时,可以防止大数吃小数,这在我们进行程序设计时,应尤其注意。 P56.第20题:Newton迭代法 〔1〕给定初值及容许误差,编制Newton法解方程根的通用程序。 〔2〕给定方程 ,易知其有三个根,,。 ①由Newton方法的局部收敛性可知存在,当时Newton迭代序列收敛于根,试确定尽可能大的; ②试取假设干初始值,观察当时Newton序列是否收敛以及收敛于哪一个根。 〔3〕通过本上机题,你明白了什么? 答: 〔1〕和,在命令行中输入main,并按要求即能获得结果。 %此函数为main函数 x0=input(请输入x0:); delta=5e-4; newton(f,df

文档评论(0)

菜心 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档