您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 2014数值分析MATLAB上机实验
1数值分析实习报告姓名:gestepoA学号:201*******班级:***班2序言随着计算机技术的迅速发展,数值分析在工程技术领域中的应用越来越广泛,并且成为数学与计算机之间的桥梁。要解决工程问题,往往需要处理很多数学模型,不仅要研究各种数学问题的数值解法,同时也要分析所用的数值解法在理论上的合理性,如解法所产生的误差能否满足精度要求:解法是否稳定、是否收敛及熟练的速度等。而且还能减少大量的人工计算。由于工程实际中所遇到的数学模型求解过程迭代次数很多,计算量很大,所以需要借助如MATLAB,C++,VB,JAVA的辅助软件来解决,得到一个满足误差限的解。本文所计算题目,均采用MATLAB进行编程,MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来MATLAB最突出的特点就是简洁,它用更直观的、符合人们思维习惯的代码。它具有以下优点:1友好的工作平台和编程环境。MATLAB界面精致,人机交互性强,操作简单。2简单易用的程序语言。MATLAB是一个高级的矩阵/阵列语言,包含控制语言、函数、数据结构,具有输入、输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编好一个较大的复杂的应用程序(M文件)后再一起运行。3强大的科学计算机数据处理能力。包含大量计算算法的集合,拥有600多个工程中要用到的数学运算函数。4出色的图像处理功能,可以方便地输出二维图像,便于我们绘制函数图像。3目录1第一题...................................................................41.1实验目的............................................................41.2实验原理和方法......................................................41.3实验结果............................................................51.3.1最佳平方逼近法..................................................51.3.2拉格朗日插值法..................................................71.3.3对比............................................................82第二题...................................................................92.1实验目的..............................................................92.2实验原理和方法.....................................................102.3实验结果...........................................................102.3.1第一问...........................................................102.3.2第二问...........................................................112.3.3第三问.........................................................113第三题..................................................................123.1实验目的.............................................................123.2实验原理和方法.....................................................123.3实验结果...........................................................124MATLAB程序..............................................................1441第一题某过程涉及两变量x和y,拟分别用插值多项式和多项式拟合给出其对应规律的近似多项式,已知xi与yi之间的对应数据如下:12345678910x12345678910y34.658840.371914.6448-14.2721-13.357024.823475.2795103.574397.484778.2392⑴请用次数分别为3,4,5,6的多项式拟合并给出最好近似结果f(x)。⑵请用插值多项式给出最好近似结果。1.1实验目的:学习逼近和插值的原理和编程方法,由给出的已知点构造多项式,在某个范围内近似代替已知点所代表的函数,以便于简化对未知函数的各种计算。1.2试验原理和方法:实验原理:拉格朗日插值法中先构造插值基础函数:𝑙𝑘(𝑥)=∏𝑥−𝑥𝑖𝑥𝑘−𝑥𝑖𝑛𝑗=0j≠k(𝑘=0,1,2,⋯,𝑛),然后构造出拉格朗日多项式:𝑝𝑛(𝑥)=∑(∏𝑥−𝑥𝑖𝑥𝑘−𝑥𝑖𝑛𝑗=0j≠k)𝑛𝑘=0𝑓(𝑥𝑘)。最佳平方逼近中,设逼近函数𝑃𝑛(𝑥)=𝑎0+𝑎1𝑥+𝑎2𝑥2+⋯+𝑎𝑛𝑥𝑛,逼近函数和真实函数之差r=𝑃𝑛(𝑥)−𝑦,[𝑟1𝑟2⋮𝑟𝑛]=[11⋮𝑥1𝑥2⋮⋯⋯⋱𝑥1𝑛𝑥2𝑛⋮1𝑥𝑛⋯𝑥𝑛𝑛][𝑎0𝑎1⋮𝑎𝑛]−[𝑦1𝑦2⋮𝑦𝑛],即:𝒓=𝑿𝒂−𝒀,根据最小二乘准则令∑𝑟𝑖2n𝑖=0=𝑚𝑖𝑛,可以得到𝒂=(𝑿𝑇𝑿)−1𝑿𝑇𝒀。实验方法:逼近法采用最佳平方逼近,依据最小二乘原则:∑𝑟𝑖2n𝑖=0=𝑚𝑖𝑛,由已知条件采用离散型。插值法采用拉格朗日插值法。在逼近法中,由于是离散型的,所以法方程系数阵设计成求和。分别求出3、4、5、6次的多项式,逼近结果和真实值有一定差距,最小二乘正是让这些差距达到最小,理论上多项式次数越高结果和真实值差距越小。拉格朗日插值法中“la=la*(p-x(j))/(x(k)-x(j))”语句实现的是我们通常书写的连乘形式拉格朗日插值多项式,但是表示不方便,而如果用“s=collect(s)”函数将其展开成降幂排列多项式以后,由于余项问题结果会和原本的多项式有偏差,这种偏差随着x的增大而增大。求出多项式后和题目中给出的参考点进行比较。最后,选择六次最佳平方逼近多项式和拉格朗日插值多项式(九次)进行比较,选取5xi=a+ih=1+0.2*i(i=0,1,⋯,45),分别绘制两者的图像进行比较。1.3试验结果1.3.1最佳平方逼近法三次多项式:-1.033*x^3+19.33*x^2-94.48*x+131.8拟合结果:12345678910x12345678910y55.617011.8960-5.5610-2.952013.525037.672063.291084.184094.153087.0000四次多项式:-0.3818*x^4+7.368*x^3-42.14*x^2+73.53*x+0.745拟合结果:12345678910x12345678910y39.121232.080210.0852-5.5638-2.730021.560261.1172100.5882115.457272.04506五次多项式:0.09807*t^5-3.079*t^4+34.5*t^3-163.5*t^2+304.7*t-139.5拟合结果:12345678910x12345678910y33.219145.77429.0320-16.5003-8.906326.908370.9835100.073899.416474.5000六次多项式:0.01936*t^6-0.5408*t^5+5.114*t^4-16.9*t^3-0.867*t^2+66.38*t-18.7拟合结果:712345678910x12345678910y34.505641.149413.2700-13.9486-12.225023.711473.9500105.169496.345678.4000对比可知,六次多项式拟合结果最好。1.3.2拉格朗日插值法插值多项式5.353*10^(-5)*x^9-0.003088*x^8+0.07229*x^7-0.8792*x^6+5.932*x^5-22.41*x^4+50.11*x^3-86.47*x^2+113.5*x-25.2注:此多项式为拉格朗日多项式的近似式,当x=10的时候偏差可以达到23以上。对比数据:123456789x1.50001.90002.30002.70003.10003.50003.90004.30004.7000y42.149841.462035.118224.385211.2732-1.7813-12.3006-18.1566-17.90691011121314151617x5.10005.50005.90006.30006.70007.10007.50007.9000y-11.02262.028419.854940.362661.084079.568893.7700102.3677插值结果:8123456789x1.50001.90002.30002.70003.10003.50003.90004.30004.7000y42.384041.494735.074224.360111.2792-1.7683-12.2977-18.1626-17.91181011121314151617x5.10005.50005.90006.30006.70007.10007.50007.9000y-11.02102.033319.856540.358461.079479.570993.7788102.3713其中红点表示参考点。1.3.3比较选取xi=a+ih=1+0.2*i(i=0,1,⋯,45),分别绘制六次多项式拟合和拉格朗日插值结果图:9其中绿线表示拉格朗日插值多项式图像,蓝线表示六次多项式拟合图像。两者效果近似但后者比前者低三次。2第二题用雅格比法与高斯-赛德尔迭代法解下列方程组Ax=b1或Ax=b2,研究其收敛性。上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。(1)A行分别为A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4];b1=[-3,2,4]T;b2=[100,-200,345]T。(2)A行分别为A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1]T;b2=[5,0,-10]T。(3)A行分别为A1=[1,3],A2=[-7,1];b1=[4,6]T。2.1试验目的学习jacobi迭代法和GuassSeidel迭代法的原理和编程方法,研究方程组系数阵和右边项对方程的解及其收敛性的影响,判断迭代法的收敛条件。102.2实验原理和方法实验原理:将方程组系数阵A分解为A=D+L+U,其中D为对角阵,L为减去D的下三角阵,U为减去D的上三角阵。Jacobi迭代法中构造如下迭代公式:𝑥(𝑘+1)=−𝐷−1(𝐿+𝑈)𝑥(𝑘)+𝐷−1𝑏而Gauss-Seidel迭代法的迭代公式为:𝑥(𝑘+1)=−(𝐷+𝐿)−1𝑈𝑥(𝑘)+(𝐷+𝐿)−1𝑏初始值直接选取为0。在判断其收敛
本文标题:2014数值分析MATLAB上机实验
链接地址:https://www.777doc.com/doc-3012586 .html