《数值分析实验插值与拟合》由会员分享,可在线阅读,更多相关《数值分析实验插值与拟合(9页珍藏版)》请在金锄头文库上搜索。
1、数值分析课程实验一:插值与拟合一、实验目的1. 理解插值的基本原理,掌握多项式插值的概念、存在唯一性;2. 编写MATLAB程序实现Lagrange插值和New ton插值,验证Runge现象;3. 通过比较不同次数的多项式拟合效果,理解多项式拟合的基本原理;4. 编写MATLAB程序实现最小二乘多项式曲线拟合。二、实验内容1. 用 Lagrange 插值和 New ton 插值找经过点(-3, -1), (0, 2), (3, -2),(6, 10)的三次插值公式,并编写MATLAB程序绘制出三次插值公式的图形。2. 设f( X)=去,x 一55如果用等距节点 x = -5 + 10i/n
2、(i = 0, 1, 2,,n) 上的 Lagrange 插 i值多项式L (x)去逼近它。不妨取n二5和n二10,编写MATLAB程序绘制 n出L (x序订(x)的图像。5103. 在某冶炼过程中,根据统计数据的含碳量与时间关系如下表,试求含碳量与时间t的拟合曲线。t (min)0510455055y01.22.12.83.43.84.14.34.54.54.04.6(X10-576647571824)(1)用最小二乘法进行曲线拟合;(2)编写MATLAB程序绘制出曲线拟合图。三、实验步骤1.(1) Lagrange插值法:在线性空间P中找到满足条件:1,i = j,0,i 主 jnl (x
3、 ) =5 =i j ij的一组基函数 (x)n,l,X)的表达式为ii =0in X Xl (x) = rtj (i = 0,1, , n)ix xj=0,j 丰i ij有了基函数务(x),n次插值多项式就可表示为ii =0L (x) = yl (x)ni ii=0(2) New ton插值法:设x, x,,x是一组互异的节点,y = f(x ) (i = 01nii0,1, 2,,n),f(x)在处的n阶差商定义为f x0, xi,xn=x xn0则n次多项式N (x) = f (x ) + f x ,x (x x ) + f x ,x ,x (x x )(x x )n001001201H
4、F f x ,x,x (x x )(x x ) (x x )0 1n01n 1差商表的构造过程:xif(x)i一阶差商二阶差商三阶差商四阶差商x0f(x)0x1f(x)1fx , x 0 1x2f(x)2fx ,1x2fx ,0x ,x 1 2x3f(x)3fx ,2x3fx ,1x ,x 23fx ,0x ,x ,x 123x4f(x)4fx ,3x4fx ,2x ,x 34fx ,1x ,x ,x 234fx ,0x ,x ,x ,x 1234MATLAB 程序实现:pdlystr = polyZstrCRnx, s):-lisp (st rcat ( tfewtoii Jietliad
5、/ .polystij);p-alystr - p&lyZEtrILna:,?);di sp (e! rcat ( L ag.z snge net h.o d / jpalystr).KNN HeVtan nethodCStabLe =工曰工勺日(Leh, 1日n): (:J3) = y :2 e leu1=2:Lf U=J)File Edit Text E 口 Cell Tools Debuq Des kt tip Window Help1 Edit口r -匚D maliabwarkshuih叫labial.e=Lenctti.KJ; Lagrangi nethodLlx? n.i d):L
6、ror = Lrw + yfi) :3DNrix = zeflE3 Wnx.QBSNN pLol Laiianfie nethod and Hewton nethod fijure47 _figured!4B h.g2d. on40 _plat CK,yB ro?);5D 一ix = 3 : 0. : 6.51 一yy 二 polyal(Lux, xzl .rS2 一pldt tKXjyy? b):53 一hold D-f-f54 一b-uz on55 一set (grfj 81 匚didrj Jj v);56S7试验结果:回1DE40E芒己日也l k i %鬼紗咚ka 口困i 旦Fil r
7、Edrt View Ins ert Taal-s Desldo-p Window Help2. MATLAB 程序实现:试验结果:3. 多项式拟合的一般方法可归纳为以下几步:1)由已知数据画出函数粗略的图形散点图,确定拟合多项式的次数(2) 列表计算 xj (j = 0,1,2n)和 xjy (j = 0,1,n);i i ii=0i=0(3) 写出正规方程组,求出a (k = 0,1,n);k(4) 写出拟合多项式 p ( x) = a x k 。nkk=0MATLAB 程序实现:FileEdit Text Ge Cell Tool5 Ueaug Desktop Windnw Helpme3
8、B|at*is-or皓旨”|州* 钥創”也牠电 1|恥|A n ”J * GB | - 10+ | V 1.1 :i-iat _i = D 5 10 IS 2D 25 30 3S 10 吗 50 55;7 1., 2-2. 16 2.86久羽 3. 87 :. 15 4. 3 4.51 4. 5E 4.023注鸠JMh h匡1 -L)5 _plat 晁齐b):6 _set(Erfj* colarJ jJ V,騙強英.v|H-tLl= - v = en 4 nl标 4-即浊十k_B 一l=n = length.(x);9 -n = 2:1D 一Nt able- = zer口:占 len, 3*n
9、+);11 一! ) = s:12 一Xiahlt二 y1 .13 一XtabLehJ) = XzabLe:仇A2;14 一Ktable(:j4) = It able (:),3:15 一Mt ablets 5)二 ItsbLe(:h 4;16 一6) = Mt able (:j), ttttablt 2):17 一劇込1承;,咼=)-2. 2);1B 一Ktuh = ?sun (Ntalile):19 一A = l en7 Nsi-in (I), Mslui (3);2DK-hulTiCSI pNsua;21JAeuii (3) ? K5un C 4). Nsijji (5);-回 s22
10、- B = MetuhES?:23 一Cffit = 土磁 lA)初;24 一 Mfit = fLip!id:Kfi-t l;25 polyrt r = poly2rtr (Flfit, xJ );26 -iispLsy (polyatt):27 f-iguE-e-(2)2B hold dii29 -pldtCkjb ):3D -二 D : CL 】丄 55.31 yy =polyval (Eff itjxx):32 plat 万J -1:J33 一holdcdf31 bx DT1set 口 IsDesldap Vyindnw HelpQ二皿皑2口回弱File EddView Ins ert Taals Dcsktep Vindow Help釦bl虬竜凰搐”風口因血