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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

西南交通大学数值分析报告文档格式.docx

1、 比如一定用插值吗?(5)逼近某个函数不用插值方式,有何变通之举?(6)函数之间的误差如何度量,逼近的标准又是什么?(7) 如何比较好的使用插值多项式呢?1.2计算思路本题我选用拉格朗日插值函数,拉格朗日插值函数的构建算法是从101组数据中等距选取n组数据来构造n阶的拉格朗日插值函数,然后在-5,5区间选取m个插值点带入插值多项式计算出m组(x,y),本题中,我分别取了n=6,8,10,20四种不同的阶数,然后利用matlab绘图命令查看插值函数图像与原函数图像的逼近效果。1.3 计算结果当阶数为5阶时,插值图像与原函数图象如下所示(红色曲线为插值函数曲线,蓝色为原函数曲线)表1(迭代数据)i

2、XiYi1-5.0000 25.000026-2.50006.2693510 10.0000711.0000 1015.0000由图象可以看出,除了在插值点附近的拟合效果还可以,其他的点都差距比较大,总的来说效果不是很好。当阶数为7阶时图象如下:表2(迭代数据)17-3.400011.560033-1.8000 2.883249-0.2000 5.2312651.40003.0219 813.00008.9991 974.600021.1600由此图象可以看出,利用7阶插值来进行计算,在0值附近的拟合不是很好,但总得来说比5阶函数较好。当阶数为10阶时,图象如下:表3(迭代数据)12-3.90

3、0015.210023-2.8000 7.840534-1.7000 2.5554. 893.800014.4400 1004.900024.0100利用10阶函数进行插值计算时,在函数的两端会出现相比于原函数偏离比较大的点,这就是runge(龙格)现象,但不是很明显。当阶数为20阶时,图象如下:表4(迭代数据)6-4.500020.250011-4.0000 16.000016-3.5000 12.2500 914.0000 964.5000由此图像可以看出,runge(龙格)现象已经非常明显了,由于在两端的龙格现象太明显,所以此图是在去除了两端偏离比较大的点。1.4 总结利用拉格朗日插值函

4、数构造插值多项式是比较常用的插值计算的方法之一,其解决了不需要求解方程组的问题,它也有一定的缺点:(1)从实验中可以看出,并不是拉格朗日的插值阶数越高,其插值效果越好,虽然在一些局部拟合的效果较好,但是当阶数超过7阶时就容易出现runge现象,由上图中的阶数n=20时就可以看出;(2)但是当插值阶数太少时,插值的效果又不是很好,由上图中阶数n=5时可以看出,插值效果非常不好;(3)由上面的图象可以分析,利用拉格朗日进行插值计算时,所选取的插值点并不是在区间里平均选取最好,根据不同的函数曲线,应当用不同的方法选点。实验二2.1 题目松弛因子对SOR法收敛速度的影响。用SOR法求解方程组Ax=b,

5、其中要求程序中不存系数矩阵A,分别对不同的阶数取w=1.1, 1.2, .,1.9进行迭代,记录近似解x(k)达到|x(k)-x(k-1)|10-6时所用的迭代次数k,观察松弛因子对收敛速度的影响,并观察当w0或w2会有什么影响?2.2 松弛思想分析SOR法(松弛法),是由高斯-塞德尔迭代方法演变来的。高斯-塞德尔迭代方法的迭代格式为,而松弛法的迭代格式为,通过大量的实验发现,的取值很关键,如果取了好的,迭代方程的收敛速度会加快,根据理论基础可以知道,当02时松弛法才能够收敛。2.3问题的求解分别取不同阶数系数矩阵和不同松弛因子进行计算,结果如下图所示:当取阶数为5时,=1. 1时:迭代次数:

6、迭代过程:x = 0.8250 0.7769 0.7636 0.7600 1.0340x = 0.9561 0.9453 0.9426 1.0176 1.0014x = 0.9893 0.9868 1.0069 1.0005 1.0000x = 0.9974 1.0025 1.0001 1.0000 1.0000x = 1.0010 1.0001 1.0000 1.0000 1.0000x = 0.9999 1.0000 1.0000 1.0000 1.0000x = 1.0000 1.0000 1.0000 1.0000 1.0000当阶数n=6,=1. 3时:x = 0.9750 0.96

7、69 0.9642 0.9634 0.9631 1.2880x = 0.9967 0.9973 0.9979 0.9983 1.1041 0.9474x = 1.0001 1.0002 1.0001 1.0344 0.9629 1.0037x = 1.0000 1.0000 1.0111 0.9812 1.0062 1.0009x = 1.0000 1.0036 0.9917 1.0050 1.0000 0.9997x = 1.0012 0.9966 1.0030 0.9995 0.9997 1.0000x = 0.9985 1.0015 0.9994 0.9999 1.0000 1.0000

8、x = 1.0009 0.9997 1.0000 1.0001 1.0000 1.0000x = 0.9996 1.0000 1.0000 1.0000 1.0000 1.0000x = 1.0001 1.0000 1.0000 1.0000 1.0000 1.0000x = 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000当阶数n=5时,=-1时:请输入阶数n:5请输入w的值:-1num= 1, error=2.53e+000num= 2, error=3.93e+000num= 3, error=7.35e+000num= 4, error=1.80e+0

9、01num= 5, error=4.84e+001num= 6, error=1.32e+002num= 7, error=3.63e+002num= 10; error=1.00e+003num= 11, error=2.77e+003num= 12, error=7.68e+003num= 13, error=2.12e+004num= 14, error=5.87e+004num= 15, error=1.62e+005num= 16, error=4.47e+005num= 17, error=1.23e+006num= 20, error=3.38e+006num= 21, erro

10、r=9.27e+006num= 22, error=2.54e+007num= 23, error=6.96e+007num= 24, error=1.90e+008num= 25, error=5.20e+008num= 26, error=1.42e+009num= 27, error=3.87e+009num= 30, error=1.06e+010num= 31, error=2.88e+010num= 32, error=7.84e+010num= 33, error=2.13e+011num= 34, error=5.81e+011num= 35, error=1.58e+012n

11、um= 36, error=4.29e+012x = 1.0e+012 * -0.3019 0.8370 -1.5384 2.1285 -1.9856由数据中可以分析得出,当=-1时,迭代是不收敛的。当阶数n=5时,=2.5时2.5num= 1, error=1.38e+001num= 2, error=2.11e+001num= 3, error=2.58e+001num= 4, error=2.80e+001num= 5, error=4.63e+001num= 6, error=6.61e+001num= 7, error=8.74e+001num= 10, error=1.38e+00

12、2num= 11, error=1.72e+002num= 12, error=2.63e+002num= 13, error=4.26e+002num= 14, error=8.10e+002num= 15, error=1.51e+003num= 16, error=2.52e+003num= 17, error=3.58e+003num= 20, error=4.46e+003num= 21, error=6.34e+003num= 22, error=9.29e+003num= 23, error=1.25e+004num= 24, error=1.83e+004num= 25, er

13、ror=2.82e+004num= 26, error=3.74e+004num= 27, error=6.20e+004num= 30, error=1.18e+005num= 31, error=1.96e+005num= 32, error=2.94e+005num= 33, error=4.09e+005num= 34, error=5.63e+005num= 35, error=7.87e+005num= 36, error=1.24e+006 1.0e+005 * 0.4613 1.5993 -1.4788 1.3274 -2.6027由数据中可以分析得出,当=2.5时,迭代也是不

14、收敛的。2.4 总结(1)在本题中,迭代次数和矩阵的未知数有以及的取值有一定的联系,不一定是未知数多迭代次数就多,也有可能在取相同时,未知数多迭代次数反而较少,这和SOR法的迭代原理有关。(2)当0或2.0,SOR法不收敛,这是必要条件。实验三3.1 题目用Runge-Kutta 4阶算法对初值问题y/=-20*y,y(0)=1按不同步长求解,用于观察稳定区间的作用,推荐两种步长h=0.1,0.2。注:此方程的精确解为:y=e-20x3.2 Runge-Kutta法的基本思想Runge-Kutta法的基本思想是通过f (x, y)某些点函数值的适当线性组合替换Euler 法中的f(xk,yk)

15、,可能使得方法的精确度更高。由于有了这种思想,因此标准的四阶Runge-Kutta的算法如下(h为求解步长):K1=hf(xk,yk)如果yk某种方法第k步的近似值,y(xk)是其准确值,其绝对误差为k,即有k=y(xk)-yk。假定第k步之后的计算不再有舍入误差,只是由k引起的扰动m,都有mk,则称此方法是绝对稳定的。数值解法的稳定性一般与步长h以及f(x,y)有关。3.3 问题的求解给定初值x为0,我选定迭代终点为1,,分别选取h=0.1、h=0.2进行计算,并对迭代过程和迭代图像进行分析。计算结果如下:当h=0.1时请输入a的值:请输入b的值:请输入步长h:0.1x 1=0.000000

16、 y 1=1.000000 yi 1= 1.000000 error 1= 0.000000x 2=0.100000 y 2=0.333333 yi 2= 0.135335 error 2= 0.197998x 3=0.200000 y 3=0.111111 yi 3= 0.018316 error 3= 0.092795x 4=0.300000 y 4=0.037037 yi 4= 0.002479 error 4= 0.034558x 5=0.400000 y 5=0.012346 yi 5= 0.000335 error 5= 0.012010x 6=0.500000 y 6=0.004

17、115 yi 6= 0.000045 error 6= 0.004070x 7=0.600000 y 7=0.001372 yi 7= 0.000006 error 7= 0.001366x 8=0.700000 y 8=0.000457 yi 8= 0.000001 error 8= 0.000456x 9=0.800000 y 9=0.000152 yi 9= 0.000000 error 9= 0.000152当h=0.2时由图象和数据中可以看出,当步长为0.2时,迭代是不收敛的。3.4问题的总结(1)用标准的四阶 Runge-Kutta 算法计算常微分方程时,不同的步长算法的稳定性有影

18、响。不够稳定的步长下面的计算,误差会越来越大,结果失真严重。(2)一般情况下,步长越小,标准的四阶 Runge-Kutta 算法的稳定性越高,精度也越高。总结通过此次数值分析上机实习,认识到了计算机编程在数值分析课程中的重要性。也让我意识到了学习编程语言的重要性。要想要将数学应用于实际工程中,特别是对于工科的学生来讲,这是一门非常重要的实践课程。在此次报告中,首次接触了Matlab这门软件,之所以选这门,是因为很多工程中对数据的处理需要使用,这对我本身的专业是非常重要的。本学期学习的数值分析方法,让我在对数学的理解上又有了新的认识。在一连串看似杂乱无章的数据中,用数值分析进行处理,有了很多的收

19、获。在学习的过程中,意识到了这门课对我专业的重要性,让我对自己的专业有了更好的发挥。对我写论文以及解决实际工程问题有很大的帮助。最后,感谢老师给我这样的机会去接触这门语言,虽然只了解了皮毛,可是仍然收获颇多。由于初次接触这门软件,在报告中仍难免会有不完善甚至错误的地方,望谅解!附录实验一程序function yy=L(xi) f=fopen(xk.txt,r); x=fscanf(f,%f g=fopen(yk.txt y=fscanf(g, n=input(请输入插值函数阶数: s=0; xi=-3.5:0.1:3.5; for i=1:fix(101/(n-1): t=ones(1,len

20、gth(xi); for j=1: if j=i t=t.*(xi-x(j)/(x(i)-x(j); end s=s+t*y(i); yy=s; plot(x,y,b,xi,yy,)实验二程序n=input( w=input(for i=1:n if i=j a(i,j)=-4; elseif (i=j+1|i=j-1) a(i,j)=1; else a(i,j)=0;end if (i=1|i=n) b(i)=-3; b(i)=-2; x=zeros(1,n); for num=1:30 error=0; xb=x(i); if i=j,s=s+a(i,j)*x(j); x(i)=w*(b(

21、i)-s)/a(i,i)+(1-w)*x(i); error=error+abs(x(i)-xb); fprintf(num=%3.o, error=%7.2en,num,error) if error/30.000001,break; x 实验三程序a=input(b=input(h=input(x=a:h:b;y(1)=1;yi(1)=exp(-20*x(1);error(1)=0;n=(b-a)/h+1;for i=2: k1=-20*y(i-1)*h; k2=-20*(y(i-1)+k1/2)*h; k3=-20*(y(i-1)+k2/2)*h; k4=-20*(y(i-1)+k3)*h; y(i)=y(i-1)+(k1+2*k2+2*k3+k4)/6; yi(i)=exp(-20*x(i); error(i)=y(i)-yi(i);x%2.0f=%10.6f y%2.0f=%10.6f yi%2.0f=%10.6f error%2.0f=%10.6fn,i-1,x(i-1),i-1,y(i-1),i-1,yi(i-1),i-1,error(i-1)plot(x,y,g,x,yi,

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

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