• 943.50 KB
  • 2022-04-29 14:23:20 发布

Exp03姜启源数学建模课件PPT第三章(珍藏版).ppt

  • 42页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'大学数学实验MathematicalExperiments实验3插值与数值积分1 计算机会“算”吗?靠得住吗?例:把4开n次方,再平方n次,结果是4?存在误差?英国著名数值分析学家Higham(1998):Canyoucountoncomputers?精确计算:解析结果(Analytical)近似计算:数值结果(Numerical)n=55左右:结果变成1计算功效=计算工具*计算方法(算法)浮点运算:舍入误差2 实验3的基本内容3.数值积分的梯形公式、辛普森公式和高斯公式。1.插值的基本原理;三种插值方法:拉格朗日插值,分段线性插值,三次样条插值。2.插值的MATLAB实现及插值的应用。4.数值积分的MATLAB实现及数值积分的应用。3 什么是插值(Interpolation)?从查函数表说起查函数表标准正态分布函数表求(1.114)(1.114)=0.8665(0.86860.8665)0.4=0.8673插值插值在图像处理/数控加工/外观设计等领域有重要应用4 插值的基本原理插值问题的提法已知n+1个节点其中互不相同,不妨设求任一插值点处的插值节点可视为由产生,g表达式复杂,甚至无表达式5 求解插值问题的基本思路构造一个(相对简单的)函数通过全部节点,即再用计算插值,即插值的基本原理6 1.拉格朗日(Lagrange)多项式插值1.0插值多项式求三种插值方法7 1.1拉格朗日插值多项式又(2)有唯一解,故(3)与(1)相同。基函数三种插值方法8 三种插值方法1.2误差估计9 1.3拉格朗日插值多项式的振荡Runge现象取n=2,4,6,8,10,计算Ln(x),画出图形三种插值方法Runge.m10 2.分段线性插值xjxj-1xj+1x0xn计算量与n无关;n越大,误差越小.三种插值方法11 机翼下轮廓线3.三次样条插值样条函数的由来飞机、船体、汽车外形等的放样(设计)细木条:样条12 3.三次样条插值数学样条(spline)3)3’)2),3’)共4n-2个方程三种插值方法13 三次样条插值确定4n个系数需增加2个条件思考1)自然边界条件的几何意义是什么?2)样条插值为什么普遍用3次多项式,而不是2或4次?三次样条插值14 三种插值方法小结拉格朗日插值(高次多项式插值):曲线光滑;误差估计有表达式;收敛性不能保证。用于理论分析,实际意义不大。分段线性和三次样条插值(低次多项式插值):曲线不光滑(三次样条插值已大有改进);误差估计较难(对三次样条插值);收敛性有保证。简单实用,应用广泛。其他:Hermite插值、分段三次插值、二维插值等根据需要,各取所需。15 1.拉格朗日插值:自编程序,如名为lagr.m的M文件,第一行为functiony=lagr(x0,y0,x)输入:节点x0,y0,插值点x(均为数组,长度自定义));输出:插值y(与x同长度数组))。应用时输入x0,y0,x后,运行y=lagr(x0,y0,x)2.分段线性插值:已有程序y=interp1(x0,y0,x)y=interp1(x0,y0,x,’linear’)3.三次样条插值:已有程序y=interp1(x0,y0,x,’spline’)或y=spline(x0,y0,x)用MATLAB作插值计算注:MATLAB有样条工具箱(SplineToolbox)16 用MATLAB作插值计算为例,作三种插值的比较以01.00001.00001.00001.00000.50000.80000.84340.75000.82051.00000.50000.50000.50000.50001.50000.30770.23530.35000.29732.00000.20000.20000.20000.20002.50000.13790.25380.15000.14013.00000.10000.10000.10000.10003.50000.0755-0.22620.07940.07454.00000.05880.05880.05880.05884.50000.04711.57870.04860.04845.00000.03850.03850.03850.0385xyy1y2y3用n=11个节点,m=21个插值点,三种方法作插值,画图。chazhi117 插值的应用加工时需要x每改变0.05时的y值chazhi2图1零件的轮廓线(x间隔0.2)表1x间隔0.2的加工坐标x,y(图1右半部的数据)数控机床加工零件0.0,5.000.2,4.710.4,4.310.6,3.680.8,3.051.0,2.501.2,2.051.4,1.691.6,1.401.8,1.182.0,1.002.2,0.862.4,0.742.6,0.64………模型将图1逆时针方向转90度,轮廓线上下对称,只需对上半部计算一个函数在插值点的值。图2逆时针方向转90度的结果令v=x,u=-y18 为什么要作数值积分许多函数“积不出来”,只能用数值方法,如积分是重要的数学工具,是微分方程、概率论等的基础;在实际问题中有直接应用。对于用离散数据或者图形表示的函数,(可以先做插值然后积分;或者直接利用点做数值积分)计算积分只有求助于数值方法。数值积分19 数值积分的基本思路回忆定积分的定义各种数值积分方法研究的是如何取值,区间如何划分,使得既能保证一定精度,计算量又小。n充分大时In就是I的数值积分(计算功效:算得准,算得快)20 1.从矩形公式到梯形公式数值积分yy=f(x)xbao平均,得到梯形公式xk+1xkxk-1fk21 2.辛普森(Simpson)公式(抛物线公式)梯形公式相当于用分段线性插值函数代替每段要用相邻两小区间端点的三个函数值抛物线公式提高精度分段二次插值函数数值积分yy=f(x)xbaox2kf2kx2k+1x2k+2f2k+1f2k+2区间数必须为偶数22 对k求和(共m段),得(复合)辛普森公式:二次插值函数sk(x)2.辛普森(Simpson)公式(抛物线公式)23 梯形公式在每小段上是用线性插值函数T(x)代替f(x)梯形公式的误差估计因为:(x-xk)(x-xk+1)在(xk,xk+1)不变号,所以:24 梯形公式Tn的误差是h2阶的估计梯形公式的误差25 同理可得:其中辛普森公式Sn的误差是h4阶的。辛普森公式的误差估计26 梯形公式和辛普森公式的收敛性若对I某个数值积分In有(非零常数)则称In是p阶收敛的。梯形公式2阶收敛,辛普森公式4阶收敛。c=0:至少p阶收敛(超p阶收敛)27 积分步长的自动选取选定数值积分公式后,如何确定步长h以满足给定的误差梯形公式用二分法只要其中fk+1/2是原分点xk,xk+1的中点(记xk+1/2)的函数值且T2n可在Tn基础上计算28 高斯(Gauss)求积公式矩形公式(1)、(2)梯形公式(3)辛普森公式(4)Ak是与f无关的常数代数精度设用(7)计算若对于都有而当则称In的代数精度为m.Newton-Cotes方法29 梯形公式的代数精度(考察T1)k=1f(x)=xk=2f(x)=x2梯形公式的代数精度为1辛普森公式的代数精度为330 高斯公式的思路取消对节点的限制,按照代数精度最大的原则,同时确定节点xk和系数Ak构造求积公式对于使G2的代数精度为3确定31 将f(x)代入计算得用n个节点,Gn的代数精度可达2n-1,但是需解复杂的非线性方程组,实用价值不大。32 常用的高斯公式将(a,b)分小,把小区间变换为(-1,1),再用G2代数精度为3节点加密时,原计算信息无法利用33 思路:将积分区间分小,在小区间上用n不太大的。而在节点加密一倍时能够利用原节点的函数值,可以把区间的端点作为固定节点。改进的高斯公式Gauss-Lobatto求积公式其中a,b为小区间的端点,为2n-2个参数,代数精度可达到2n-3注意:实际计算中一般采用自适应方法确定步长34 用MATLAB作数值积分矩形公式Sum(x)输入数组x(即fk),输出x的和(数)cumsum(x)输入数组x,输出x的依次累加和(数组)梯形公式Trapezoidal(梯形)trapz(x)输入数组x,输出按梯形公式x的积分(单位步长)trapz(x,y)输入同长度数组x,y,输出按梯形公式y对x的积分(步长不一定相等)35 用MATLAB作数值积分辛普森公式(quadrature:求积)quad(@fun,a,b,tol,trace)[I,fn]=quad(…)用自适应辛普森公式计算tol为绝对误差,缺省时为10-6Gauss-Lobatto公式quadl(@fun,a,b,tol,trace)[I,fn]=quadl(…)用自适应Gauss-Lobatto公式计算tol为绝对误差,缺省时为10-6注意:fun.m中应以自变量为矩阵的形式输入(点运算)36 矩形域上计算二重积分的命令:dblquad(@fun,xmin,xmax,ymin,ymax,tol)广义积分、二重和三重积分长方体上计算三重积分的命令:triplequad(@fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)注:fun是被积函数,本身可以有自己的参数广义积分:通过分析和控制误差,转换成普通积分quadv(@fun,a,b,tol,trace)向量值积分:37 用MATLAB作数值积分例.计算1)矩形公式和梯形公式将(0,/4)100等分2)辛普森公式和Gauss-Lobatto公式精确、方便无法计算用数值给出的函数的积分Jifen1a.mJifen1b.m精确值为38 数值积分的应用实例人造卫星轨道长度轨道长度yxo近地点s1=439km,远地点s2=2384kms1s2地球半径r=6371kmr需要作数值积分39 s1=439km,s2=2384km,r=6371kmyxos1s2rs1s2yxoracb数值积分实例人造卫星轨道长度40 用梯形公式和辛普森公式计算只将区间5等分,梯形公式就给出很好的结果轨道长度L=4.8707104千米数值积分实例人造卫星轨道长度Jifen2.m41 布置实验目的1、掌握用MATLAB计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点的数目,对三种插值结果进行初步分析。2、掌握用MATLAB及梯形公式、辛普森公式计算数值积分。3、通过实例学习用插值和数值积分解决实际问题。内容实验练习10;12;42'