ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:66.35KB ,
资源ID:10101296      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10101296.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值分析报告上机题课后作业全部东南大学.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值分析报告上机题课后作业全部东南大学.docx

1、数值分析报告上机题课后作业全部东南大学2015.1.9上机作业题报告User1.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=Sns

2、2l+1/(i*i-1);endfprintf(精确值为: %fn,Ac);fprintf(从大到小的顺序累加得SN=%fn,Snl2s);fprintf(从小到大的顺序累加得SN=%fn,Sns2l);disp(=);1.2程序 P20T17请输入N值:102精确值为: 0.740049从大到小的顺序累加得SN=0.740049从小到大的顺序累加得SN=0.740050= P20T17请输入N值:104精确值为: 0.749900从大到小的顺序累加得SN=0.7498521.3运行结果从小到大的顺序累加得SN=0.749900= P20T17请输入N值:106精确值为: 0.749999从大

3、到小的顺序累加得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迭代序

4、列收敛于根x2*。试确定尽可能大的。试取若干初始值,观察当时Newton序列的收敛性以及收敛于哪一个根。(3)通过本上机题,你明白了什么?2.2程序函数m文件:fu.mfunction Fu=fu(x)Fu=x3/3-x;end函数m文件:dfu.mfunction Fu=dfu(x)Fu=x2-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)epflag=0; endx0=x1;endfp

5、rintf(方程的一个近似解为:%fn,x0);寻找最大值的程序:Find.mcleareps=input(请输入搜索精度:);ep=input(请输入容许误差:);flag=1;k=0;x0=0;while flag=1 sigma=k*eps;x0=sigma; k=k+1; m=0; flag1=1; while flag1=1 & m=103 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0; endendfprintf(最大的sigma值为:%fn,sigma);2.3运行结果(1)寻找最大的值。算法为:将初值x0在从0开始不断累加搜索精度e

6、ps,带入Newton迭代公式,直到求得的根不再收敛于0为止,此时的x0值即为最大的sigma值。运行Find.m,得到在不同的搜索精度下的最大sigma值。 Find请输入搜索精度:10-6请输入容许误差:10-6最大的sigma值为:0.774597 Find请输入搜索精度:10-4请输入容许误差:10-6最大的sigma值为:0.774600 Find请输入搜索精度:10-2请输入容许误差:10-6最大的sigma值为:0.780000(2)运行Newton.m在内取初值,运行结果如下:X0Xk-1000-1.732051-500-1.732051-100-1.732051-10-1.7

7、32051-5-1.732051-2.5-1.732051-1.5-1.732051可见,在区间内取初值,Newton序列收敛,且收敛于根。在内取初值,运行结果如下:X0Xk-0.951.732051-0.851.732051-0.81.732051-0.7745981.732051可见,在内取初值,Newton序列收敛,且收敛于根。 在内内取初值,运行结果如下:X0Xk-0.7745960.000000-0.550.000000-0.350.000000-0.150.0000000.050.0000000.250.0000000.450.0000000.650.0000000.7745960

8、.000000可见,在内取初值,Newton序列收敛,且收敛于根0。 在内取初值,运行结果如下:X0Xk0.774598-1.7320510.8-1.7320510.85-1.7320510.95-1.732051可见,在内取初值,Newton序列收敛,且收敛于根 在内取初值,运行结果如下:X0Xk1.51.7320512.51.73205151.732051101.7320511001.7320515001.73205110001.732051可见,在内取初值,Newton序列收敛,且收敛于根3.Chapter 33.1题目对于某电路的分析,归结为求解线性方程组RI=V,其中(1)编制解n阶

9、线性方程组的列主元高斯消去法的通用程序;(2)用所编程序线性方程组,并打印出解向量,保留5位有效数字;(3)本题编程之中,你提高了哪些编程能力?3.2程序n=input(请输入线性方程组阶数: n=);b=zeros(1,n);A=input(请输入系数矩阵:A=n);b(1,:)=input(请输入线性方程组右端向量:b=n);b=b; C=A,b;for i=1:n-1 maximum,index=max(abs(C(i:n,i); index=index+i-1; T=C(index,:); C(index,:)=C(i,:); C(i,:)=T; for k=i+1:n if C(k,

10、i)=0 C(k,:)=C(k,:)-C(k,i)/C(i,i)*C(i,:); end endend%回代求解x=zeros(n,1);x(n)=C(n,n+1)/C(n,n);for i=n-1:-1:1 x(i)=(C(i,n+1)-C(i,i+1:n)*x(i+1:n,1)/C(i,i);enddisp(方程组的解为:);fprintf(%.5gn,x);3.3运行结果运行程序,输入系数矩阵和方程组右端列向量。运行过程与结果如下图所示: P126T39请输入线性方程组阶数: n=4请输入系数矩阵:A=136.01 90.86 0 0;90.86 98.81 -67.59 0;0 -67

11、.59 132.01 46.26 ;0 0 46.26 177.17请输入线性方程组右端向量:b=-33.254 49.79 28.067 -7.324方程组的解为:-2957.44426.62495-651.49 P126T39请输入线性方程组阶数: n=9请输入系数矩阵:A=31 -13 0 0 0 -10 0 0 0;-13 35 -9 0 -11 0 0 0 0;0 -9 31 -10 0 0 0 0 0;0 0 -10 79 -30 0 0 0 -9;0 0 0 -30 57 -7 0 -5 0;0 0 0 0 -7 47 -30 0 0;0 0 0 0 0 -30 41 0 0;0

12、 0 0 0 -5 0 0 27 -2;0 0 0 -9 0 0 0 -2 29请输入线性方程组右端向量:b=-15 27 -23 0 -20 12 -7 7 10方程组的解为:-0.289230.34544-0.71281-0.22061-0.43040.15431-0.0578230.201050.29023可看出,算得的该线性方程组的解向量为:-0.28923 0.34544 -0.71281 -0.22061 -0.4304 0.15431 -0.057823 0.20105 0.290234.Chapter 44.1题目(1)编制求第一型3次样条插值函数的通用程序;(2)已知汽车门曲

13、线型值点的数据如下:i012345678910Xi012345678910Yi2.513.304.044.705.225.545.785.405.575.705.80端点条件为,用所编程序求车门的3次样条插值函数S(x),并打印出S(i+0.5),i=0,1,9。4.2程序cleardigits(6);n=input(请输入节点数:n=);xn=zeros(1,n);yn=zeros(1,n);xn(1,:)=input(请输入节点坐标:);yn(1,:)=input(请输入节点处函数值:);dy0=input(请输入左边界条件:y(x0)=);dyn=input(请输入右边界条件:y(xn)

14、=);%=求d=%d=zeros(n,1);h=zeros(1,n-1);f1=zeros(1,n-1);f2=zeros(1,n-2);for i=1:n-1 h(i)=xn(i+1)-xn(i); f1(i)=(yn(i+1)-yn(i)/h(i);endfor i=2:n-1 f2(i)=(f1(i)-f1(i-1)/(xn(i+1)-xn(i-1); d(i)=6*f2(i);endd(i)=6*(f1(1)-dy0)/h(1);d(n)=6*(dyn-f1(n-1)/h(n-1);%=求Mi=%A=zeros(n);miu=zeros(1,n-2);lamda=zeros(1,n-2

15、);for i=1:n-2 miu(i)=h(i)/(h(i)+h(i+1); lamda(i)=1-miu(i);endA(1,2)=1;A(n,n-1)=1;for i=1:n A(i,i)=2;endfor i=2:n-1 A(i,i-1)=miu(i-1); A(i,i+1)=lamda(i-1);endM=Ad;%=回代求插值函数=%syms x;for i=1:n-1; Sx(i)=collect(yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(x-xn(i)+M(i)/2*(x-xn(i)2+(M(i+1)-M(i)/(6*h(i)*(x-xn(i)3)

16、; Sx(i)=vpa(Sx(i),6);endS=zeros(1,n-1);for i=1:n-1 x=xn(i)+0.5; S(i)=yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(x-xn(i)+M(i)/2*(x-xn(i)2+(M(i+1)-M(i)/(6*h(i)*(x-xn(i)3;end%=打印结果=%disp(S(x)=);for i=1:n-1 format short; fprintf( %s (%dx P195T37请输入节点数:n=11请输入节点坐标:0 1 2 3 4 5 6 7 8 9 10请输入节点处函数值:2.51 3.30 4.04

17、 4.70 5.22 5.54 5.78 5.40 5.57 5.70 5.80请输入左边界条件:y(x0)=0.8请输入右边界条件:y(xn)=0.2S(x)= 0.79*x + 0.0158344*x2 - 0.0158344*x3 + 2.51 (0x1)= 0.830013*x - 0.0241785*x2 - 0.00249676*x3 + 2.49666 (1x2)= 0.809832*x - 0.0140879*x2 - 0.00417854*x3 + 2.51012 (2x3)= 0.315407*x2 - 0.178653*x - 0.0407891*x3 + 3.4986

18、(3x4)= 6.9313*x - 1.46208*x2 + 0.107335*x3 - 5.98133 (4x5)= 4.1762*x2 - 21.2601*x - 0.26855*x3 + 41.0043 (5x6)= 53.8449*x - 8.3413*x2 + 0.426866*x3 - 109.206 (6x7)= 6.27011*x2 - 48.435*x - 0.268915*x3 + 129.447 (7x8)= 14.4854*x - 1.59494*x2 + 0.0587951*x3 - 38.3403 (8x9)= 13.2458*x - 1.45831*x2 + 0.

19、053735*x3 - 34.5615 (9x10)=S(i+0.5) i x(i+0.5) S(i+0.5) 1 0.50000 2.90698 2 1.50000 3.67885 3 2.50000 4.38136 4 3.50000 4.98822 5 4.50000 5.38326 6 5.50000 5.72372 7 6.50000 5.59435 8 7.50000 5.43012 9 8.50000 5.65892 10 9.50000 5.731725.Chapter 55.1题目用Romberg求积法计算积分的近似值,要求误差不超过。5.2程序%被积函数m文件:fx.mfu

20、nction Fx=fx(x)Fx=1/(1+100*x*x);end%Romberg求积法计算积分的通用程序function Romberg()clear;a=input(请输入积分下限:a=);b=input(请输入积分上限:b=);eps=input(请输入允许精度:eps=);%=计算Tn=%function Tn=T(n)Tn=0;h=(b-a)/n;x=zeros(1,n+1);for k=1:n+1 x(k)=a+(k-1)*h;endfor j=1:n Tn=Tn+h*(fx(x(j)+fx(x(j+1)/2;endend%=计算Sn=%function Sn=S(n)Sn=4

21、/3*T(2*n)-1/3*T(n);end%=计算Cn=%function Cn=C(n)Cn=16/15*S(2*n)-1/15*S(n);end%=计算Rn=%function Rn=R(n)Rn=64/63*C(2*n)-1/63*C(n);end%=计算满足允许精度的Rn,并打印输出=%i=1;flag=1;while flag=1if abs(R(2i)-R(2(i-1)/255 Romberg请输入积分下限:a=-1请输入积分上限:b=1请输入允许精度:eps=0.5*10-7该积分的值为:0.29422555.4结果分析手动化简该定积分并最终求得的值为:0.2942255348

22、60747,误差限为:,可见,程序完成了计算要求。6.Chapter 66.1题目常微分方程初值问题数值解(1)编制RK4方法的通用程序;(2)编制AB4方法的通用程序(由RK4提供初值);(3)编制AB4-AM4预测校正方法通用程序(由RK4提供初值);(4)编制带改进的AB4-AM4预测校正方法通用程序(由RK4提供初值);(5)对于初值问题取步长h=0.1,应用(1)-(4)中的四种方法进行计算,并将计算结果和精确解作比较;(6)通过本上机题,你能得到哪些结论?6.2程序%f(x,y)函数m文件:fxy.mfunction FXY=fxy(x,y)FXY=-x*x*y*y;end%精确解

23、y(x)函数m文件:fx.mfunction FX=fx(x)FX=3/(1+x*x*x);end%RK4法通用程序function RK4()clear;x(1)=input(请输入初始x值:x0=);y(1)=input(请输入初值条件:y(x0)=);N=input(请输入计算步长:N=);h=input(请输入步长:h=);for i=1:N-1 x(i+1)=x(i)+h; k1=fxy(x(i),y(i); k2=fxy(x(i)+0.5*h,y(i)+0.5*h*k1); k3=fxy(x(i)+0.5*h,y(i)+0.5*h*k2); k4=fxy(x(i)+h,y(i)+h*k3); y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);end disp(i xi yi y(xi) y(xi)-yi); disp(-);for i=1:N fprintf(%d %f %f %f %fn,i,x(i),y(i),fx(x(i),fx(x(i)-y

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1