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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数值分析上机实验课件.docx

1、数值分析上机实验课件目 录1 绪论 12 实验题目(一) 22.1 题目要求 22.2 Newton插值多项式 32.3 数据分析 42.3.1 Newton插值多项式数据分析 42.3.2 Newton插值多项式数据分析 62.4 问答题 62.5 总结 73 实验题目(二) 83.1 题目要求 83.2 高斯-塞德尔迭代法 83.3 高斯-塞德尔改进法松弛法 93.4 松弛法的程序设计与分析 93.4.1 算法实现 93.4.2 运算结果 93.4.3 数据分析 114 实验题目(三) 134.1 题目要求 134.2 Runge-Kutta 4阶算法 134.3 Runge-Kutta

2、4阶算法运算结果及数值分析 14总结 16附录A 17绪论数值分析是计算数学的一个主要部分,它主要研究各类数学问题的数值解法,以及分析所用数值解法在理论上的合理性。实际工程中的数学问题非常复杂,所以往往需要借助计算机进行计算。运用数值分析解决问题的过程:分析实际问题,构建数学模型,运用数值计算方法,进行程序设计,最后上机计算求出结果 。数值分析这门学科具有面向计算机、可靠的理论分析、好的计算复杂性、数值实验、对算法进行误差分析等特点。 本学期开设了数值分析课程,该课程讲授了数值分析绪论、非线性方程的求解、线性方程组的直接接法、线性方程组的迭代法、插值法、函数逼近与曲线拟合、数值积分和数值微分、

3、常微分方程初值问题的数值解法等内容。其为我们解决实际数学问题提供了理论基础,同时我们也发现课程中很多问题的求解必须借助计算机运算,人工计算量太大甚至无法操作。所以学好数值分析的关键是要加强上机操作,即利用计算机程序语言实现数值分析的算法。本报告就是基于此目的完成的。本上机实验是通过用计算机来解答数值分析问题的过程,所用的计算工具是比较成熟的数学软件MATLAB。MATLAB是Matrix Laboratory的缩写,是以矩阵为基础的交互式程序计算语言。MATLAB是一款具有强大的矩阵运算、数据处理和图形显示功能的软件,其输出结果可视化,编程效率极高,用极少的代码即可实现复杂的运行,因此它使工程

4、技术人员摆脱了繁琐的程序代码,以便快速地验证自己的模型和算法。其主要特点包括:强大的数值运算功能;先进的资料视觉化功能高阶但简单的程序环境;开方及可延展的构架;丰富的程式工具箱。在科学研究和工程计算领域经常会遇到一些非常复杂的计算问题,利用计算器或手工计算是相当困难或无法实现的,只能借助计算机编程来实现。MATLAB将高性能的数值计算和可视化的图形工具集成在一起,提供了大量的内置函数,使其在科学计算领域具有独特的优势。最后感谢数值分析课程任课教师赵海良老师的悉心指导!实验题目(一)题目要求已知:a=-5,b=5, 以下是某函数 f(x)的一些点(xk,yk), 其中xk=a+0.1(k-1)

5、,k=1,.,101请用插值类方法给出函数f(x)的一个解决方案和具体结果。并通过实验考虑下列问题(1) Ln(x)的次数n越高,逼近f(x)的程度越好?(2) 高次插值收敛性如何?(3) 如何选择等距插值多项式次数 ?(4) 若要精度增高,你有什么想法? 比如一定用插值吗?(5) 逼近某个函数不用插值方式,有何变通之举?(6) 函数之间的误差如何度量,逼近的标准又是什么?(7) 如何比较好的使用插值多项式呢?xk =-5.0000:0.1:5.0000;y(xk)=yk= Columns 1 through 7 25.0000 24.0100 23.0400 22.0900 21.1600

6、20.2500 19.3600 Columns 8 through 14 18.4900 17.6400 16.8100 16.0000 15.2100 14.4400 13.6900 Columns 15 through 21 12.9600 12.2500 11.5600 10.8899 10.2397 9.6093 8.9991 Columns 22 through 28 8.4092 7.8405 7.2941 6.7705 6.2693 5.7866 5.3144 Columns 29 through 35 4.8403 4.3522 3.8463 3.3402 2.8832 2.5

7、554 2.4475 Columns 36 through 42 2.6154 3.0219 3.4920 3.7149 3.3232 2.0435 -0.1277 Columns 43 through 49 -2.8066 -5.2470 -6.5469 -5.9893 -3.3862 0.7365 5.2312 Columns 50 through 56 8.6985 10.0000 8.6985 5.2312 0.7365 -3.3862 -5.9893 Columns 57 through 63 -6.5469 -5.2470 -2.8066 -0.1277 2.0435 3.3232

8、 3.7149 Columns 64 through 70 3.4920 3.0219 2.6154 2.4475 2.5554 2.8832 3.3402 Columns 71 through 77 3.8463 4.3522 4.8403 5.3144 5.7866 6.2693 6.7705 Columns 78 through 84 7.2941 7.8405 8.4092 8.9991 9.6093 10.2397 10.8899 Columns 85 through 91 11.5600 12.2500 12.9600 13.6900 14.4400 15.2100 16.0000

9、 Columns 92 through 98 16.8100 17.6400 18.4900 19.3600 20.2500 21.1600 22.0900 Columns 99 through 101 23.0400 24.0100 25.0000Newton插值多项式n 阶差商的定义:牛顿插值公式牛顿插值多项式牛顿插值余项 其差商表如下所示:表1差商标计算规律:任一个k(1) 阶均差的数值等于一个分式的值,其分子为所求均差左侧的数减去左上侧的数,分母为所求均差同一行最左边的基点值减去由它往上数第k个基点值。 数据分析Newton插值多项式数据分析图1各阶牛顿插值的结果取x1=-5 0 5,

10、y1=25 10 25时,进行牛顿二阶插值:图2二阶牛顿插值的结果取x2=-5:2.5:5;,y2=25 6.2693 10 6.2693 25时,进行牛顿四阶插值:图3四阶牛顿插值的结果取x3=-5:2:5,y3=25 8.9991 2.0435 2.0435 8.9991 25时,进行牛顿五阶插值:图4五阶牛顿插值的结果取x4=-5:1:5,y4=25 16 8.9991 3.8463 2.0435 10 2.0435 3.8463 8.9991 16 25时,进行牛顿十阶插值:图5十阶牛顿插值的结果Newton插值多项式数据分析从上面的计算结果绘图可以看出以下几点:(1)当等距选取的插值

11、节点过少时,会产生较大的插值误差,相应增加等距选取的插值节点能减小插值的误差,这从二阶插值倒三、四阶插值插值计算结果越来越接近原函数可以看出。(2)过大的选取等距插值节点的个数会造成龙格现象,插值的效果反而不好,这可以从十阶插值的结果绘图看出。总的来说,适当的选取等距插值节点的个数对于提高插值误差和避免龙格现象很重要。问答题(1)Ln(x)的次数n越高,逼近f(x)的程度越好?答:这说法不正确,并非次数越高逼近程序越好,事实上对于高次的拉格朗日插值,在插值的次数过大时会发生龙格现象,导致在节点两端的波动很大,从而Ln(x)不能一致逼近于f(x)。(2)高次插值收敛性如何?答:对于高次的拉格朗日

12、插值,误差满足下式:式中,a,b为插值区间,。由此看出,当插值节点的个数越多(即n+1越大),误差越小,但不能简单地认为对所有插值问题当插值节点的个数越多,误差就越小,这是因为误差估计式是有条件的,在a,b上函数f(x)要有高阶导数,而高阶导数要一致有界,如果Mn+1无限增大,就不能保证Ln(x)收敛于f(x)。故高次插值的收敛性是有条件的,其取决于其高阶导数是否有界,如果其高阶导数有界则,其高次插值收敛,否则不收敛。(3)如何选取等距插值多项式次数?答:在本题当中,f(x)的高阶导数有界,故高次插值收敛,在进行插值时我在101个点当中选择了部分点进行牛顿插值,通过画图比较插值函数和原函数,得

13、出图像是收敛的,另外对于高阶导数无界的函数,在用多项式插值时不宜选取高次多项式插值(七八次以上),这样就能有效的避免龙格现象。(4)若要精度增高,你有什么想法?比如一定用插值么?答:采用曲线拟合,通过拟合出的曲线带入插值点的值计算插值点的函数值;插值函数曲线是通过所给全部插值节点的,这将使插值函数保留数据的全部测量误差,并且当插值函数的阶数较高时,曲线摆动很大,而求得的插值函数与实验规律较远,而数值拟合构造的数学函数则能从整体上较好地逼近函数,从而保持比较好的精度。(5) 逼近某个函数不用插值方式,有何变通之举?答:曲线拟合。(6) 函数之间的误差如何度量,逼近的标准又是什么?答:函数之间的误

14、差可以通过求其余项来进行比较得到度量,而逼近的标准在于n趋近于无穷时,余项趋近于0,这样插值函数就无限接近于f(x)即实现逼近了。(7)如何比较好的使用插值多项式呢?答:根据插值数据的特点选取适当的插值方式,要注意避免龙格现象,总之,具体情况具体分析,使用插值多项式应当从插值对象出发选取适合的插值多项式。总结 对于本题,采用了牛顿插值法进行编程计算,通过改变插值的阶数对比了选取不同个数的等距插值节点对于插值效果的影响,牛顿插值法在插值节点等距的情况下,低阶时插值效果随阶数变大而提高,但是过大的插值阶次会产生龙格现象,一般情况应该根据具体情况选取插值节点的数目,当中也要考虑到原函数的高阶导数是否

15、有界,这样也能很好的避免的龙格现象。对于拉格朗日插值插值,其形式与牛顿插值不同,但当在插值节点方面与牛顿插值类似;对于分段线性插值,由于其插值的核心思想是将区间分成很多段,对一个特定的插值点,先找到对应的插值区间段,在进行插值,插值计算时实际上只是去了两个点进行线性化的计算,因为在精度方面并不好,但是这种方法的优点在于可以任意的增加插值节点,而不会对整体有太大的影响;针对分段线性插值精度方面的缺陷,分段抛物线插值能很好的进行弥补,其核心思想是在插值区间段上进行抛物线插值,插值计算时选取了三个节点,而且较之于线性插值,曲线更加平滑,能很好的提高精度。而三次样条插值在吸收了分段插值的基础上提高了插

16、值曲线的平滑性,被广泛应用。实验题目(二)题目要求松弛因子对SOR法收敛速度的影响。用SOR法求解方程组Ax=b,其中要求程序中不存系数矩阵A,分别对不同的阶数取w=1.1, 1.2, .,1.9进行迭代,记录近似解x(k)达到|x(k)-x(k-1)|10-6时所用的迭代次数k,观察松弛因子对收敛速度的影响,并观察当w0或w2会有什么影响?高斯-塞德尔迭代法设有n阶线形方程组其系数矩阵A非奇异,不妨设(i=0,1,2n)。对n阶线形方程组,可改写为等价方程组于是,可得高斯-塞德尔迭代法分量表示的计算公式为高斯-塞德尔改进法松弛法松弛法和高斯-塞德尔迭代法基本相同,只是在迭代格式中前面添加了修

17、正系数,即。称为修正因子或松弛因子,与分别称为超松弛修正和低松弛修正。特别地,当时就是高斯-塞德尔迭代法。并且迭代法的程序实现也比较简单,只要令初始的解向量为0,然后根据相应公式进行迭代,当得到的结果误差小于规定的误差时停止迭代。需要注意的是松弛法与高斯-塞德尔迭代法不同的是松弛法有系数。查其增量的修正形式为:松弛法的程序设计与分析算法实现1)系数矩阵A迭代的收敛的验证条件;2)设置A的阶数、初始向量和的取值;3)计算;4)如果向量输出,输出迭代次数,算法结束;否则转到5;5)k=k+1,否则返回3。运算结果对于本题,采用了五、六和七阶进行计算,取初值,容忍误差,得出解和迭代次数,并取w=1.

18、1,1.2,.,1.9取初值,容忍误差,如下表所示:(1)矩阵A为五阶时,w代表松弛因子,X1,25依次为解的5个向量值,n为迭代次数,|x*-x|2为误差估计:wX1X2X3X4X5n|x*-x|21.10.629370.209790.3496510.209790.62937184.26244e-0071.20.5769230.1923070.3205130.1923080.576923113.37399e-0071.30.5325450.1775150.2958580.1775150.532544145.30078e-0071.40.4945060.1648350.2747250.1648

19、350.494506186.40707e-0071.50.4615380.1538460.256410.1538460.461538244.40722e-0071.60.4326930.1442310.2403850.1442310.432692307.72716e-0071.70.4072390.1357460.2262440.1357470.40724418.68492e-0071.80.3846160.1282050.2136750.1282050.384616649.12428e-0071.90.3643730.121457 0.2024290.1214570.3643731349.7

20、4884e-007-0.59.52681e+251 2.20745e+252 3.40991e+252 3.95053e+252 3.05125e+25210005.13717e+2522.22.92544e+078 3.64952e+077 2.29644e+0781.8817e+0785.72751e+07810001.50571e+079表2(2)矩阵A为六阶时,w代表松弛因子,X1,26依次为解的6个向量值,n为迭代次数,|x*-x|2为误差估计:wX1X2X3X4X5X6n|x*-x|21.10.627401 0.21767 0.320102 0.3201020.21767 0.62

21、740191.38646e-0071.20.575117 0.199531 0.293427 0.2934270.199530.575117116.91953e-0071.30.530877 0.184182 0.2708560.2708560.1841820.530878146.64627e-0071.40.492958 0.171026 0.2515090.251509 0.171026 0.492958189.00425e-0071.50.460094 0.1596240.2347420.234742 0.159624 0.460094239.00425e-0071.60.431338

22、0.1496480.220071 0.220071 0.149648 0.431338307.20168e-0071.70.405965 0.1408450.2071250.207125 0.1408450.405965419.35659e-0071.80.383411 0.13302 0.195618 0.195618 0.13302 0.383412658.16491e-0071.90.363232 0.1260190.185323 0.185322 0.126019 0.3632321378.71997e-007-0.58.50157e+254 2.05667e+255 3.44309e

23、+255 4.62246e+255 4.97667e+255 3.70787e+25510007.02681e+2552.2-3.65938e+078 -2.31841e+078 -3.60832e+078 -1.26541e+077 -1.04596e+078 2.47624e+078 10001.37797e+079 表3(3)矩阵A为七阶时,w代表松弛因子,X1,27依次为解的7个向量值,n为迭代次数,|x*-x|2为误差估计:wX1X2X3X4X5X6X7n|x*-x|21.10.627929 0.2155580.3280230.2905340.3280220.2155580.6279

24、29105.72753e-0081.20.5756020.1975940.3006870.2663230.3006870.1975940.575601124.54823e-0071.30.531324 0.1823950.2775580.2458360.2775580.1823950.531324148.54244e-0071.40.493373 0.1693670.2577320.2282770.2577320.1693670.493373185.38494e-0071.50.460481 0.1580750.24055 0.2130580.24055 0.1580760.460481248

25、.84051e-0071.60.431701 0.1481960.2255160.1997420.2255160.1481960.431701308.34894e-0071.70.406307 0.1394790.21225 0.1879930.21225 0.1394780.406307428.97547e-0071.80.383734 0.13173 0.2004580.1775490.2004580.13173 0.383734658.7015e-0071.90.363538 0.124797 0.1899080.1682040.1899080.1247960.3635381369.38

26、415e-007-0.56.79586e+256 1.68976e+257 2.97093e+257 4.32726e+257 5.37978e+257 5.54077e+257 4.03516e+25710008.37896e+2572.22.32993e+078 -2.33793e+078 4.66731e+078 -1.58468e+078 5.44801e+078 -3.72299e+077 5.17098e+078 10002.13542e+079 表4数据分析从上面的计算结果可以看出:当或时松弛法迭代就不收敛了,此时迭代的方式不能求解。当时,迭代次数随松弛因子w的增大而迅速增加,即

27、收敛速度随收敛因子增大而迅速减慢,而当系数矩阵的阶层变化并不影响SOR法迭代的收敛速度。运算结果可验证了,对于线性方程组,设A可逆,则以任意初值向量出发收敛的Kahan必要条件是。松弛因子不同,收敛速度也不同,寻找最佳松弛因子仍在不断的探索中。实验题目(三)题目要求用Runge-Kutta 4阶算法对初值问题,y(0)=1按不同步长求解,用于观察稳定区间的作用,推荐两种步长h=0.1,0.2。注:此方程的精确解为: Runge-Kutta 4阶算法改进的Euler法可以写成,若从计算量上看,与Euler法相比,需要多计算一次的值,从形式上看相当于代替了Euler,其精确度有较大的提高。通过用一

28、些点上的函数值f(x,y)适当的线性组合,来替换Euler法中的,从而使方法阶数更高。这就是Runge-Kutta的基本思想。各种龙格-库塔法的公式都由两部分组成,一个是上一步结果,另一个是步长乘以各点导数的加权和。 一般在计算精度要求较高的情况下,多使用四阶龙格-库塔法。其计算公式为,其截断误差正比于步长 ,其标准型如下Runge-Kutta 4阶算法运算结果及数值分析运用matlab编程来实现4阶的“经典龙格-库塔法”。最后结果如下表:步长h=0.1步长h=0.2xy(龙格-库塔法)y1(x对应真值)xy(龙格-库塔法)y1(x对应真值)01.00001.0000011.00000.10000.33330.13530.200050.01830.20000.11110.01830.4000250.00030.30000.03700.00250.60001250.00000.40000.01230.00030.80006250.00000.50000.00410.00001.000031250.00000.60000.00140.00000.70000.00050.00000.80000.00020.00000.90000.00010.00001.00000.00000.0

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

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