第四章 插值与拟合1 (1)
插值与拟合
插值与拟合大多数数学建模问题都是从实际工程或生活中提炼出来的,往往带有大量的离散的实验观测数据,要对这类问题进行建模求解,就必须对这些数据进行处理。
其目的是为了从大量的数据中寻找它们反映出来的规律。
用数学语言来讲,就是要找出与这些数据相应的变量之间的近似关系。
对于非确定性关系,一般用统计分析的方法来研究,如回归分析的方法。
对于确定性的关系,即变量间的函数关系,一般可用数据插值与拟合的方法来研究。
插值与拟合就是要通过已知的数据去确定某一类已知函数的参数或寻找某个近似函数,使所得到的近似函数对已知数据有较高的拟合进度。
如果要求这个近似函数经过所有已知的数据点,则称此类问题为插值问题。
当所给的数据较多时,用插值方法所得到的插值函数会很复杂,所以,通常插值方法用于数据较少的情况。
其实,通常情况下数据都是由观测或试验得到的,往往会带有一定的随机误差,因而,要求近似函数通过 所有的数据点也是没有必要的。
如果不要求近似函数通过所有的数据点,而是要求他能较好地反映数据的整体变化趋势,则解决这类问题的方法称为数据拟合。
虽然插值与拟合都是要构造已有数据的近似函数,但因对近似要求的准则不同,因此二者在数学方法上有很大的差异。
一、引例简单地讲,插值是对于给定的n 组离散数据,寻找一个函数,使该函数的图象能严格通过这些数据对应的点。
拟合并不要求函数图象通过这些点,但要求在某种准则下,该函数在这些点处的函数值与给定的这些值能最接近。
例1:对于下面给定的4组数据,求在110=x 处y 的值。
这就是一个插值问题。
我们可以先确定插值函数,再利用所得的函数来求110=x 处y 的近似值。
需要说明的是这4组数据事实上已经反映出x 与y 的函数关系为:x y =,当数据量较大时,这种函数关系是不明显的。
也就是说,插值方法在处理数据时,不论数据本身对应的被插值函数)(x f y =是否已知,它都要找到一个通过这些点的插值函数,此函数是被插值函数的一个近似,从而通过插值函数来计算被插值函数在未知点处的近似值。
插值与拟合
且 f(1.5) ≈L1(1.5) = 0.885。
Lagrange插值法的缺点
• 多数情况下,Lagrange插值法效果是不错的, 但随着节点数n的增大,Lagrange多项式的次 (Runge)现象。
• 例:在[-5,5]上用n+1个等距节点作插值多项 式Ln(x),使得它在节点处的值与函数y = 1/(1+25x2)在对应节点的值相等,当n增大时, 插值多项式在区间的中间部分趋于y(x),但 对于满足条件0.728<|x|<1的x, Ln(x)并不趋 于y(x)在对应点的值,而是发生突变,产生 剧烈震荡,即Runge现象。
总结
• 拉格朗日插值:其插值函数在整个区间 上是一个解析表达式;曲线光滑;收敛 性不能保证,用于理论分析,实际意义 不大。
• 分段线性插值和三次样条插值:曲线不 光滑(三次样条已有很大改进);收敛 性有保证;简单实用,应用广泛。
1.2 二维插值
• 二维插值是基于一维插值同样的思想, 但是它是对两个变量的函数Z=f(x,y)进 行插值。
• n=5; • x0=-1:1/(n-1):1;y0=1./(1+25*x0.^2);y1=lagr(x0,y0,x); • subplot(2,2,2), • plot(x,z,'r-',x,y,'m-'),hold on %原曲线 • plot(x,y1,'b'),gtext('L8(x)','FontSize',12),pause %Lagrange曲线
基函数为
l0 (x)
x x1 x0 x1
x2 1 2
2
x
l1(x)
线性插值函数为
插值与拟合
常用方法——最小二乘法拟合
令: f (x) a1r1(x) a2r2 (x) .... amrm (x)
其中:rk(x)为事先选定的一组关于x的函数,ak为系数,
即求解ak,使下式最小
m
2
J (a1, a2 ,...,am ) min [ f ( xi ) yi ]
i 1
即使:
J 0, k (0, k ) ak
拉格朗日插值法
已知x0、x1、x2、x3、、、xn和y0、y1、y2、y3、、、yn 则可以构造一个经过这n+1个点的次数不超过n的多 项式y=Ln(x),使其满足:
Ln(xk)=yk,k=0、1、2、、、n •这样的Ln(x)就是通过拉格朗日插值得到的函数关系 •这样的方法叫做拉格朗日插值
注: 通过上述方法可得到一个次数不超过n的多项
2
1 n1
m1 1 (1 1)m1
m2
2 (1 2 )m2
n2
2
..
mn
1
n1
(1
n 1 )mn 1
3.代入原式
用matlab解插值
基本格式:Interp1(x,y,cx,'methed')
其中:x,y为已知的坐标 cx为待插值的点的横坐标 methed为插值方法,有如下:
10
11
12
13
14
15
16
10.20 10.32 10.42 10.50 10.55 10.58 10.60
解 :数据点描绘
11
10
9
8
7
6
5
4
0
2
4
6
8
10
12
14
《插值与拟合》课件
拟合的方法
1
最小二乘法
通过最小化残差平方和,找到与数据最匹配的函数。
2
局部加权回归
给予附近数据点更高的权重,拟合接近局部数据点的函数。
3
多项式拟合
用多项式函数逼近数据,通过选择合适的次数实现拟合。
插值与拟合的误差分析
插值和拟合都会引入近似误差,需要评估误差范围和影响因素。
插值与拟合在数据处理与分析中的应用
数据分析
通过插值和拟合方法对数据进 行探索和分析。
数据处理
在数据处理过程中使用插值和 拟合技术来填充缺失值和平滑 数据。
数据建模
利用插值和拟合模型对数据特 征进行捕捉和预测分析。
插值与拟合的推广和发展前景
随着数据科学和人工智能的不断发展,插值和拟合在各个领域的应用前景越 来越广阔。
插值与拟合的应用范围
科学研究
用于数据分析、信号优化设计、近似计算和 效能提升。
经济金融
用于市场分析、预测模型和 风险评估。
插值的方法
1
拉格朗日插值
基于多项式插值公式,用拉格朗日多项式逼近函数。
2
牛顿插值
基于差商的概念,用多项式逼近函数的值。
3
分段插值
将插值区间划分为多个子区间,并在每个子区间上进行插值。
《插值与拟合》PPT课件
插值与拟合是数值计算和数据分析中重要的概念。
插值与拟合的概念
插值
通过已知值的推算,计算在未知点的近似值。
拟合
通过曲线或曲面拟合已知数据,以描述和预 测未知数据。
插值与拟合的区别与联系
1 区别
2 联系
插值重点关注已知点的准确性,而拟合则 着重于整体形状的拟合。
插值和拟合都通过数学模型逼近离散数据, 以实现数据的补全和预测。
插值与拟合方法
插值与拟合方法在实际中,常常要处理由实验或测量所得到的一批离散数据.插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻找某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度.插值问题:要求这个近似函数(曲线或曲面)经过所已知的所有数据点.通常插值方法一般用于数据较少的情况.数据拟合:不要求近似函数通过所有数据点,而是要求它能较好地反映数据的整体变化趋势。
共同点:插值与拟合都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法,由于对近似要求的准则不同,因此二者在数学方法上有很大的差异.插值问题的一般提法:已知某函数)(x f y =(未知)的一组观测(或试验)数据),,2,1)(,(n i y x ii⋅⋅⋅=,要寻求一个函数)(x φ,使iiy x =)(φ),,2,1(n i ⋅⋅⋅=,则)()(x f x ≈φ.实际中,常常在不知道函数)(x f y =的具体表达式的情况下,对于i x x =有实验测量值iy y =),,2,1,0(n i ⋅⋅⋅=,寻求另一函数)(x φ使满足:)()(i i i x f y x ==φ),,2,1,0(n i ⋅⋅⋅=称此问题为插值问题,并称函数)(x φ为)(x f 的插值函数,nx x x x ,,,,21⋅⋅⋅称为插值节点,),,2,1,0()(n i y x ii⋅⋅⋅==φ称为插值条件,即)()(iiix f y x ==φ),,2,1,0(n i ⋅⋅⋅=,则)()(x f x ≈φ.(1) 拉格朗日(Lagrange )插值设函数)(x f y =在1+n 个相异点nx x x x ,,,,21⋅⋅⋅上的函数值为ny y y y ,,,,21⋅⋅⋅,要求一个次数不超过n 的代数多项式nnnx a x a x a a x P +⋅⋅⋅+++=221)(使在节点i x 上有),,2,1,0()(n i y x P ii n ⋅⋅⋅==成立,称之为n 次代数插值问题,)(x P n称为插值多项式.可以证明n 次代数插值是唯一的.事实上: 可以得到j n j n i i j in y x x xx x P j i ∑∏==⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫⎝⎛--=≠00)()( 当1=n 时,有二点一次(线性)插值多项式:101001011)(y x x x x y x x x x x P --+--=当n =2时,有三点二次(抛物线)插值多项式:2120210121012002010212))(())(())(())(())(())(()(y x x x x x x x x y x x x x x x x x y x x x x x x x x x P ----+----+----=(2)牛顿(Newton ) 插值牛顿插值的基本思想:由于)(x f y =关于二节点10,x x 的线性插值为)()()()()()()()()(00101000010101x x x x x f x f x p x x x x x f x f x f x p ---+=---+= 假设满足插值条件)2,1,0()()(2===i x p y x f iii的二次插值多项式一般形式为))(()()(1212x x x x c x x c c x p --+-+= 由插值条件可得⎪⎩⎪⎨⎧=--+-+=-+=)())(()()()()(21202202101011000x f x x x x c x x c c x f x x c c x f c 可以解出⎪⎪⎪⎩⎪⎪⎪⎨⎧------=--==020101121220101100)()()()()()(),(x x x x x f x f x x x f x f c x x x f x f c x f c所以))(()())(()()(10211020102x x x x c x p x x x x c x x c c x p --+=--+-+=类似的方法,可以得到三次插值多项式等,按这种思想可以得到一般的牛顿插值公式.函数的差商及其性质对于给定的函数)(x f ,用),,,(10n x x x f ⋅⋅⋅表示关于节点nx x x ,,,1⋅⋅⋅的n 阶差商,则有一阶差商:01011)()(),(x x x f x f x x f --=,121221)()(),(x x x f x f x x f --= 二阶差商:021021210),(),(),,(x x x x f x x f xx x f --=n 阶差商:0110211),,,(),,,(),,,(x x x x x f x x x f x x x f n n n n -⋅⋅⋅-⋅⋅⋅=⋅⋅⋅-差商有下列性质:(1)差商的分加性:∑∏=≠=-=⋅⋅⋅nk nk j j j kk n x xx f xx x f 0)(01)()(),,,(.(2)差商的对称性:在),,,(1nx x x f ⋅⋅⋅中任意调换jix x ,的次序其值不变.牛顿插值公式: 一次插值公式为))(,()()(01001x x x x f x f x p -+=二次插值公式为))()(,,()())()(,,())(,()()(1021011021001002x x x x x x x f x p x x x x x x x f x x x x f x f x p --+=--+-+=于是有一般的牛顿插值公式为)())()(,,,()()())()(,,,())()(,,())(,()()(11010111010102100100----⋅⋅⋅--⋅⋅⋅+=-⋅⋅⋅--⋅⋅⋅+⋅⋅⋅+--+-+=n n n n n n x x x x x x x x x f x p x x x x x x x x x f x x x x x x x f x x x x f x f x p可以证明:其余项为))(())()(,,,,()(11010n n n x x x x x x x x x x x x f x R --⋅⋅⋅--⋅⋅⋅=-实际上,牛顿插值公式是拉格朗日插值公式的一种变形,二者是等价的.另外还有著名的埃尔米特(Hermite )插值等.(3)样条函数插值方法样条,实质上就是由分段多项式光滑连接而成的函数,一般称为多项式样条.由于样条函数的特殊性质,决定了样条函数在实际中有着重要的应用.样条函数的一般概念定义 设给定区间],[b a 的一个分划b x x x a n=<⋅⋅⋅<<=∆1:,如果函数)(x s 满足条件:(1) 在每个子区间),,2,1](,[1n i x x ii ⋅⋅⋅=-上是k 次多项式; (2) )(x s 及直到k -1阶的导数在],[b a 上连续.则称)(x s 是关于分划△的一个k 次多项式样条函数,nx x x ,,,1⋅⋅⋅称为样条节点,121,,,-⋅⋅⋅n x x x 称为内节点,nx x ,0称为边界节点,这类样条函数的全体记作),(k S P∆,称为k 次样条函数空间.若),()(k S x s P∆∈,则)(x s 是关于分划△的k 次多项式样条函数.k 次多项式样条函数的一般形式为∑∑=-=+-+=ki n j k j jii k x x k i x x s 011)(!!)(βα其中),,1,0(k i i=α和)1,,2,1(-=n j jβ均为任意常数,而)1,,2,1(,0,)()(-=⎪⎩⎪⎨⎧<≥-=-+n j x x x x x x x x jj kj kj在实际中最常用的是2=k 和3的情况,即为二次样条函数和三次样条函数. 二次样条函数:对于],[b a 上的分划b x x x a n=<⋅⋅⋅<<=∆1:,则)2,()(!2!2)(11222102∆βαααP n j j jS x x x x x s ∈-+++=∑-=+其中)1,2,1(,0,)()(22-=⎪⎩⎪⎨⎧<≥-=-+n j x x x x x x x x j j j j . 三次样条函数:对于],[b a 上的分划b x x xa n =<⋅⋅⋅<<=∆10:,则)3,()(!3!3!2)(1133322103∆βααααP n j j jS x x x x x x s ∈-++++=∑-=+其中)1,2,1(,0,)()(33-=⎪⎩⎪⎨⎧<≥-=-+n j x x x x x x x x jjj j .1 二次样条函数插值)2,()(2∆∈P S x s 中含有2+n 个待定常数,故应需要2+n 个插值条件,因此,二次样条插值问题可分为两类:问题(1):已知插值节点ix 和相应的函数值),,2,1,0(n i y i⋅⋅⋅=,以及端点0x (或n x )处的导数值0'y (或ny '),求)2,()(2∆∈PS x s 使得⎩⎨⎧'=''='⋅⋅⋅==))(()(),,2,1,0()(20022n n i i y x s y x s n i y x s 或(5.1)问题(2):已知插值节点ix 和相应的导数值),,2,1,0(n i y i⋅⋅⋅=',以及端点0x (或n x )处的函数值0y (或ny ),求)2,()(2∆∈P S x s 使得⎩⎨⎧==⋅⋅⋅='='))(()(),,2,1,0()(20022n n i i y x s y x s n i y x s 或(5.2)事实上,可以证明这两类插值问题都是唯一可解的.对于问题(1),由条件(5.1)⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧'=+='==-+++==++==++=∑-=00210211222102121211112020201002)(,,3,2,)(2121)(21)(21)(y x x s n j y x x x x x s yx x x s y x x x s j j i i j i jj j ααβααααααααα 引入记号T n ),,,,,(11210-=ββααα X 为未知向量,T nn y y y y ),,,,(10'= C 为已知向量, ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---=-0010)(21)(21211)(212110211211021212212222211200x x x x x x x x x x x x x x x n n n n n A 于是,问题转化为求方程组C AX =的解Tn ),,,,,(1121-=ββααα X 的问题,即可得到二次样条函数的)(2x s 的表达式.对于问题(2)的情况类似.2.三次样条函数插值由于)3,()(3∆∈P S x s 中含有3+n 个待定系数,故应需要3+n 个插值条件,因此可将三次样条插值问题分为三类: 问题(1):已知插值节点jx 和相应的函数值),,2,1,0(n j y j⋅⋅⋅=,以及两个端点0x ,n x 处的导数值0'y ,ny ',求)3,()(3∆∈PS x s 使满足条件⎪⎩⎪⎨⎧='='⋅⋅⋅==),0()(),,1,0()(33n j y x s n j y x s j j j j(5.3)问题(2):已知插值节点jx 和相应的函数值),,2,1,0(n j y j⋅⋅⋅=,以及两个端点0x ,nx 处的二阶导数值0y '',n y '',求)3,()(3∆∈PS x s 使满足条件⎪⎩⎪⎨⎧=''=''⋅⋅⋅==),0()(),,1,0()(33n j y x s n j y x s j j j j(5.4)问题(3):类似地,求)3,()(3∆∈PSx s 使满足条件⎪⎩⎪⎨⎧=+=-==)2,1,0)(0()0(),,1,0()(0)(3)(33k x s x s n j y x s k n k j j(5.5)这三类插值问题的条件都是3+n 个,可以证明其解都是唯一的〔8〕.一般的求解方法可以仿照二次样条的情况处理方法,在这里给出一种更简单的方法.仅依问题(1)为例,问题(2)和问题(3)的情况类似处理.由于在)3,()(3∆PS x s ∈区间],[b a 上是一个分段光滑,且具有二阶连续导数的三次多项式,则在子区间],[1+j jx x 上)(3x s ''是线性函数,记),,,1,0)((3n j x s d jj =''=为待定常数.由拉格朗日插值公式可得nj x x h h x x d h x x d x s j j j jj j jj j ,,1,0,,)(1113=-=-+-=''+++显然jjj h d dx s -='''+13)(在],[1+j jx x上为常数.于是在],[1+j j x x 上有31233)(6)(2))(()(j jjj j j j j j x x h d d x x d x x x s y x s --+-+-'+=+(5.6)则当1+=j x x 时,由(5.6)式和问题(1)的条件得121231362)()(+++=-++'+=j j jj j j j j j j y h d d h d h x s y x s故可解得)2(6)(113+++--='j j j jjj j d d h h y y x s(5.7)将(5.7)式代入(5.6)式得)1,,1,0](,[,)(6)(2)()2(6)(1312113-=∈--+-+-⎥⎥⎦⎤⎢⎢⎣⎡+--+=++++n j x x x x x h d d x x d x x d d h h y y y x s j j j jj j j jj j j j j j j j(5.8) 在],[1j j x x-上同样的有),,2,1](,[,)(6)(2)()2(6)(131112111111113n j x x x x x h d d x x d x x d d h h y y y x s j j j j j j j j j j j j j j j j =∈--+-+-⎥⎥⎦⎤⎢⎢⎣⎡+--+=------------(5.9) 根据)(3x s的一阶导数连续性,由(5.9)式得)()2(6)0(311113j j j j j j j j x s d d h h y y x s '=++-=-'---- 结合(5.7)式整理得⎪⎪⎭⎫ ⎝⎛---+=++++--+-+----11111111162j j j j j j j j j j j j j j j j j h y y h y y h h d h h h d d h h h 引入记号⎪⎪⎭⎫ ⎝⎛---+=+=--+--111116,j j j j j j j j j j j j j h y y h y y h h c h h h a ,111--+=-j j j j h h h a .则)1,,2,1(,2)1(11-==++-+-n j c d a d d a j j j j j j(5.10)再由边界条件:nny x s y x s '=''=')(,)(33得⎪⎪⎩⎪⎪⎨⎧⎪⎪⎭⎫ ⎝⎛--'=+⎪⎪⎭⎫ ⎝⎛'--=+----111100010106262n n n n n n n h y y y h d d y h y y h d d(5.11)联立(5.10),(5.11)式得方程组C D A =⋅(5.12)其中⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---=----2121212112112200n n n n a a a a a aA ,⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=-n n d d d d 110 D ,⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--'⎪⎪⎭⎫ ⎝⎛'--=----111110001066n n n n n n hy y y h c c y h y y h C 由方程组(6.12)可以唯一解出),,1,0(n j d j=,代入(5.8)式就可以得三次样条函数)(3x s 的表达式.B样条函数插值方法磨光函数实际中的许多问题,往往是既要求近似函数(曲线或曲面)有足够的光滑性,又要求与实际函数有相同的凹凸性,一般插值函数和样条函数都不具有这种性质.如果对于一个特殊函数进行磨光处理生成磨光函数(多项式),则用磨光函数构造出样条函数作为插值函数,既有足够的光滑性,而且也具有较好的保凹凸性,因此磨光函数在一维插值(曲线)和二维插值(曲面)问题中有着广泛的应用.由积分理论可知,对于可积函数通过积分会提高函数的光滑度,因此,我们可以利用积分方法对函数进行磨光处理.定义 若)(x f 为可积函数,对于0>h ,则称积分⎰+-=22,1)(1)(hx h x h dt t f h x f为)(x f 的一次磨光函数,h 称为磨光宽度.同样的,可以定义)(x f 的k 次磨光函数为)1()(1)(22,1,>=⎰+--k dt t f h x f hx h x h k h k事实上,磨光函数)(,x f h k 比)(x f 的光滑程度要高,且当磨光宽度h 很小时)(,x f h k 很接近于)(x f .等距B样条函数对于任意的函数)(x f ,定义其步长为1的中心差分算子δ如下:⎪⎭⎫ ⎝⎛--⎪⎭⎫ ⎝⎛+=2121)(x f x f x f δ在此取0)(+=x x f ,则002121+++⎪⎭⎫ ⎝⎛--⎪⎭⎫ ⎝⎛+=x x x δ是一个单位方波函数(如图5-1),记0)(+=Ωx x δ.并取1=h ,对)(0x Ω进行一次磨光得++++-+++-+++--+-+=-=⎥⎥⎦⎤⎢⎢⎣⎡⎪⎭⎫ ⎝⎛--⎪⎭⎫ ⎝⎛+==⎰⎰⎰⎰)1(2)1(2121)()(11212100212101x x x dt t dt t dt t t dt t x x xx x x x x x ΩΩ显然)(1x Ω是连续的(如图5-2).)(1x Ωo1-1/2 0 1/2 x -1 0 1 x 图5-1图5-2类似地可得到k 次磨光函数为kk j jk j k j k x k C x ++=+⎪⎭⎫ ⎝⎛-++-=Ω∑21!)1()(11 实际上,可以证明:)(x kΩ是分段k 次多项式,且具有1-k 阶连续导数,其k 阶导数有2+k个间断点,记为)1,,2,1,0(21+⋅⋅⋅=+-=k j k j x j.从而可知)(x kΩ是对应于分划+∞<<⋅⋅⋅<<<-∞∆+110:k x x x 的k 次多项式样条函数,称之为基本样条函数,简称为k 次B样条.由于样条节点为)1,,2,1,0(21+⋅⋅⋅=+-=k j k j xj是等距的,故)(x k Ω又称为k 次等距B样条函数.对于任意函数)(x f 的k 次磨光函数,由归纳法可以得到 [4,8] :⎪⎭⎫⎝⎛+≤≤--Ω=⎰∞+∞--22)()(1)(1,h x t h x dt t f htx h x f k h k 特别地,当1)(=x f 时,有1)(11⎰+∞∞--=-dt htx hk Ω,从而1)(⎰+∞∞-=dx x k Ω,且当k ≥1时有递推关系⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-Ω⎪⎭⎫ ⎝⎛---⎪⎭⎫ ⎝⎛+Ω⎪⎭⎫ ⎝⎛++=Ω--212121211)(11x x k x k x k x k k k一维等距B样条函数插值等距B样条函数与通常的样条如下的关系: 定理设有区间],[b a 的均匀分划nab h n j jh x x j -=⋅⋅⋅=+=),,,1,0(:0∆,则对任意 k 次样条函数),()(k S x S p k ∆∈都可以表示为B样条函数族1021-=-=⎭⎬⎫⎩⎨⎧⎪⎭⎫⎝⎛+---n j k j k k j h x x Ω的线性组合[14].根据定理 5.1,如果已知曲线上一组点()jjy x ,,其中),,1,0,0(0n j h jh x x j⋅⋅⋅=>+=,则可以构造出一条样条磨光曲线(即为B样条函数族的线性组合)⎪⎭⎫⎝⎛--=∑--=j h x x c x S n kj k j k 01)(Ω 其中)1,,1,(-⋅⋅⋅+--=n k k j c j为待定常数.用它来逼近曲线,既有较好的精度,又有良好的保凸性.实际中,最常用的是3=k 的情况,即一般形式为⎪⎭⎫ ⎝⎛--=∑+-=j h x x c x S n j j 01133)(Ω 其中3+n 个待定系数)1,,0,1(+⋅⋅⋅-=n j c j可以由三类插值条件确定.由插值条件(5.3)得()()()⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧'=-'='==-='=-'='∑∑∑+-=+-=+-=n n j j n i n j j i n j j y j n c h x S ni y j i c x S y j c h x S 113311330113031)(,,1,0,)(1)(ΩΩΩ(5.13)注意到)(3x Ω的局部非零性及其函数值:61)1(,32)0(33=±=ΩΩ,当2≥x 时0)(3=x Ω;且由)21()21()(223--+='x x x ΩΩΩ知,21)1(,0)0(33=±'='ΩΩ,当2≥x 时0)(3='x Ω.则(5.13)中的每一个方程中只有三个非零系数,具体的为⎪⎩⎪⎨⎧'=+-==++'=+-+-+--n n n i i i i y h c c n i y c c c y h c c 2,,1,0,6421111011(5.14)由方程组(5.14)容易求解出)1,,0,1(+⋅⋅⋅-=n j c j,即可得到三次样条函数)(3x S 表达式.类似地,由插值条件(5.4)得待定系数的)1,,0,1(+⋅⋅⋅-=n j c j所满足的方程组为⎪⎩⎪⎨⎧''=+-==++''=+-+-+--nn n n i i i i y h c c c n i y c c c y h c c c 21111021012,,1,0,642(5.15)由插值条件(5.5)得待定系数的)1,,0,1(+⋅⋅⋅-=n j cj所满足的方程组为⎪⎪⎩⎪⎪⎨⎧==++=-+---=-++-=-+-+-+-+--+--+--ni y c c c c c c c c c c c c c c c c c c c i i i i n n n n n n n n ,,1,0,640)()(2)(0)(0)(0)()(4)(1111011111111011(5.16)方程组(5.15),(5.16)也都是容易求解的.注:上述等距B样条插值公式也适用于近似等距的情形,但在端点0x 和n x 处误差可能较大,实际应用时,为了提高在端点0x 和nx 处的精度,可以适当向左右延拓几个节点.二维等距B样条函数插值设有空间曲面),(y x f z =(未知),如果已知二维等距节点()()τj y ih x y x ji++=0,,)0,(>τh 上的值为),,2,1,0;,,2,1,0(m j n i z ij⋅⋅⋅=⋅⋅⋅=,则相应的B样条磨光曲面的一般形式为⎪⎭⎫ ⎝⎛--⎪⎭⎫⎝⎛--=∑∑--=--=j y y i h x x c y x s l m lj k ij n ki τΩΩ0011),( 其中),,2,1,0;,,2,1,0(m j n i c ij⋅⋅⋅=⋅⋅⋅=为待定常数,l k ,可以取不同值,常用的也是2,=l k 和3的情形.这是一种具有良好保凸性的光滑曲面(函数),在工程设计中是常用的,但只能使用于均匀分划或近似均匀分划的情况.(4) 最小二乘拟合方法最小二乘拟合方法的思想:由于一般插值问题并不总是可解的(即当插值条件多于待定系数的个数时,其问题无解),同时,问题的插值条件本身一般是近似的,为此,只要求在节点上近似地满足插值条件,并使它们的整体误差最小,这就是最小二乘拟合法.最小二乘拟合方法可以分为线性最小二乘拟合方法和非线性最小二乘拟合方法.线性最小二乘拟合方法设{}m k kx 0)(=φ是一个线性无关的函数系,则称线性组合∑==mk k k x a x 0)()(φφ为广义多项式.如三角多项式:∑∑==+=mk k mk kkx b kx ax 0sin cos )(φ.设由给定的一组测量数据),(iiy x 和一组正数),,2,1(n i w i⋅⋅⋅=,求一个广义多项式∑==mk k k x a x 0)()(φφ使得目标函数[]21)(∑=-=ni i i i y x w S φ(5.17)达到最小,则称函数)(x φ为数据),,2,1)(,(n i y x ii⋅⋅⋅=关于权系数),,2,1(n i w i⋅⋅⋅=的最小二乘拟合函数,由于)(x φ关于待定系数ia 是线性的,故此问题又称为线性最小二乘问题. 注意:这里{}m k kx 0)(=φ可根据实际来选择,权系数iw 的选取更是灵活多变的,有时可选取1=i w ,或nw i 1=,对于nw i1=,则相应问题称为均方差的极小化问题.最小二乘拟合函数的求解要使最小二乘问题的目标函数(5.17)达到最小,则由多元函数取得极值的必要条件得),,2,1,0(0m k a Sk==∂∂ 即),,2,1,0(0)()(10m k x y x a w i k ni i m k i k k i ⋅⋅⋅⋅==⎥⎦⎤⎢⎣⎡-∑∑==φφ 亦即),,2,1,0()()()(001m k x y w a x x w n i i k i i j mj n i i k i j i ⋅⋅⋅⋅==⎥⎦⎤⎢⎣⎡∑∑∑===φφφ(5.18)是未知量为ma a a a ,,,,21⋅⋅⋅的线性方程组,称(5.18)式为正规方程组.实际中可适当选择函数系{}m k kx 0)(=φ,由正规方程组解出ma a a a ,,,,210⋅⋅⋅,于是可得最小二乘拟合函数∑==mk kk x a x 0)()(φφ.一般线性最小二乘拟合方法将上面一元函数的最小二乘拟合问题推广到多元函数,即为多维线性最小二乘拟合问题.假设已知多元函数),,,(21nx x x f y ⋅⋅⋅=的一组测量数据);,,,(21iniiiy x x x ⋅⋅⋅),,2,1(m i ⋅⋅⋅=和一组线性无关的函数系{}N k nk x x x 021),,,(=⋅⋅⋅φ,求函数∑=⋅⋅⋅=⋅⋅⋅Nk n k k n x x x a x xx 02121),,,(),,,(φφ对于一组正数mw w w ,,,21⋅⋅⋅,使得目标函数[]2121),,,(∑=⋅⋅⋅-=mi ni i i i i x x x y w S φ达到最小.其中待定系数N a a a a,,,,210⋅⋅⋅由正规方程组),,2,1,0(),(),(0N k y a Nj k j k j⋅⋅⋅==∑=φφφ确定,此处ini i i k mi i k ni i i k mi ni i i j i k j y x x x w y x x x x x x w ),,,(),(),,,(),,,(),(21121121⋅⋅⋅=⋅⋅⋅⋅⋅⋅=∑∑==φφφφφφ注:上面的函数φ关于ia 都是线性的,这就是线性最小二乘拟合问题,对于这类问题的正规组总是容易求解的.如果φ关于ia 是非线性的,则相应的问题称为非线性最小二乘拟合问题.非线性最小二乘拟合方法假设已知多元函数),,,(21nx x x f y ⋅⋅⋅=的一组测量数据);,,,(21iniiiy x x x ⋅⋅⋅),,2,1(m i ⋅⋅⋅=,要求一个关于参数),,2,1,0(N j a j⋅⋅⋅=是非线性的函数),,,;,,,(1021Nn a a a x x x ⋅⋅⋅⋅⋅⋅=φφ对一组正数mw w w ,,,21⋅⋅⋅使得目标函数[]21102110),,,;,,,(),,,(∑=⋅⋅⋅⋅⋅⋅-=⋅⋅⋅mi N ni i i i i N a a a x x x y w a a a S φ达到最小,则称之为非线性最小二乘问题.这类问题属于无约束的最优化问题,一般问题的求解是很复杂的,通常情况下,可以采用共轭梯度法、最速下降法、拟牛顿法和变尺度法等方法求解.实例:黄河小浪底调水调沙问题问题的提出2004年6月至7月黄河进行了第三次调水调沙试验,特别是首次由小浪底、三门峡和万家寨三大水库联合调度,采用接力式防洪预泄放水,形成人造洪峰进行调沙试验获得成功.整个试验期为20多天,小浪底从6月19日开始预泄放水,直到7月13日恢复正常供水结束.小浪底水利工程按设计拦沙量为75.5亿立方米,在这之前,小浪底共积泥沙达14.15亿吨.这次调水调试验一个重要目的就是由小浪底上游的三门峡和万家寨水库泄洪,在小浪底形成人造洪峰,冲刷小浪底库区沉积的泥沙.在小浪底水库开闸泄洪以后,从6月27日开始三门峡水库和万家寨水库陆续开闸放水,人造洪峰于29日先后到达小浪底,7月3日达到最大流量2700立方米/每秒,使小浪底水库的排沙量也不断地增加.下面是由小浪底观测站从6月29日到7月10日检测到的试验数据:表5-1: 试验观测数据单位:水流为立方米/每秒,含沙量为公斤/立方米·84··85·注:以上数据主要是根据媒体公开报道的结果整理而成的,不一定与真实数据完全相符.现在,根据试验数据建立数学模型研究下面的问题:(1) 给出估算任意时刻的排沙量及总排沙量的方法;(2) 确定排沙量与水流量的变化关系.模型的建立与求解对于问题(1),根据所给问题的试验数据,要计算任意时刻的排沙量,就要确定出排沙量随时间变化的规律,可以通过插值来实现.考虑到实际中排沙量应该是随时间连续变化的,为了提高精度,我们采用三次B样条函数进行插值.下面构造三次B样条函数)(x S y =.由试验数据,时间是每天的早8点和晚8点,间隔都是12个小时,共24个点)24,,2,1(⋅⋅⋅=i t i.为了计算方便,令)23,,,1,0(122128⋅⋅⋅=+⎥⎦⎤⎢⎣⎡⋅+-=i i t x i i(5.19)则it 对应于)23,,1,0(1⋅⋅⋅=+=i i x i.于是以)23,,1,0(⋅⋅⋅=i x i为插值节点(等距),步长1=h .其相应的排沙量为)23,,1,0(⋅⋅⋅=i y i 对应关系如下表:·86·表5-2: 插值数据对应关系单位:排沙量为公斤函数)(x S y =所满足的条件为 (1)23,,1,0,)(⋅⋅⋅==i y x S ii;(2) 3500)(,56400)(2223222323231212-=--≈'='=--≈'='x x y y x S y x xy yx S y .取)(x S 的三次B样条函数一般形式为∑-=⎪⎭⎫⎝⎛--=24103)(j j j h x x c x S Ω·87·其中)24,,1,0,1(⋅⋅⋅-=j cj为待定常数,1=h .在这里⎪⎪⎪⎩⎪⎪⎪⎨⎧≥<<+-+-≤+-=Ω2,021,342611,3221)(23233x x x x x x x x x且易知⎪⎪⎪⎩⎪⎪⎪⎨⎧≥±===Ω2,01,610,32)(3x x x x和⎪⎪⎩⎪⎪⎨⎧≥±===Ω'2,01,210,0)(3x x x x 根据B样条函数的性质,)(x S ''在[]23,x x 上连续,则有()∑-=--'='='2413)(j jj xx c x S y Ω由插值条件(1),(2)可得到下列方程组()()()⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧'=-'=''=-'='⋅⋅⋅==-=∑∑∑-=-=-=23241323024130241323)()(23,,1,0,)(y j c x S y j c x S i y j i c x S j j j j i j j i ΩΩΩ 即⎪⎩⎪⎨⎧'=+-'=+-⋅⋅⋅==++-+-23242311112223,,1,0,64y c c y c c i y c c c i i i i 将232324112,2y c c y c c '+='-=-代入前24个方程中的第一个和最后一个,便可得到方程组F AC =,其中·88·⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅=⨯232102424,421410141014124c c c c C A ,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡'-'+=3400048000684000458400266626232322100 y y y y y y F显然A 为满秩阵,方程组F AC =一定有解,用消元法求解可得问题的解为56044.39830=c , 4117111.2031=c , 2159510.7882=c , 9189845.6433=c ,1203106.6364=c , 8239727.8115=c ,8249182.1166=c , 1263543.7217=c ,9287842.9988=c , 2302284.2839=c ,4317419.86810=c , 1304836.24311=c ,3307635.15912=c ,6305423.11913=c ,2270672.36214=c ,4240287.43115=c ,0154177.91216=c ,4103000.92017=c ,99818.406218=c , 43725.454719=c ,49279.775020=c ,32155.445221=c , 2098.444222=c ,7450.777923=c ,-450.777924311.2034,2232324011='+=='-=-y c c y c c . 将)24,,1,0,1(⋅⋅⋅-=j c j代入()∑-=--==24131)(j jj x c x S y Ω(5.20)即得排沙量的变化规律.由(5.19)和(5.20)式可得到第i 时间段(12小时为一段)内,任意时刻]12,0[∈t 的排沙量.则总的排沙量为()dt j t c dx x S Y j j⎰∑⎰-=--Ω==284824132411)(经计算可得1110844.1⨯=Y 吨,即从6月29日至7月10日小浪底水库排沙总量大约为1.844亿吨,此与媒体报道的排沙量基本相符.对于问题(2),研究排沙量与水量的关系,从试验数据可以看出,开始排沙量是随着水流量的增加而增长,而后是随着水流量的减少而减少.显然,变化规律并非是线性的关系,为此,我们问题分为两部分,从开始水流量增加到最大值2720立方米/每秒(即增长的过程)为一段,从水流量的最大值到结束为第二段,分别来研究水流量与排沙量的关系.具体数据如表5-3和5-4.表5-3: 第一阶段试验观测数据 单位:水流为立方米/每秒,含沙量为公斤/立方米表5-4: 第二阶段试验观测数据单位:水流为立方米/每秒,含沙量为公斤/立方米对于第一阶段,由表5-3用Matlab作图(如图5-3)可以看出其变化趋势,我们用多项式作最小二乘拟合.·90··91·图5-3设拟合函数为∑==mk kk x a x 1)(φ确定待定常数),,1,0(m k ak=使得211111102])([∑∑∑===⎥⎦⎤⎢⎣⎡-=-=i i i m k k i k i i y x a y x S φ有最小值.于是可以得到正规方程组为m k x y a x mj i k i i j i j k i ,,1,0,0111111 ==⎪⎭⎫⎝⎛∑∑∑===+ 当3=m 时,即取三次多项式拟合,则3,2,1,0,1113111321112111110111==⎪⎭⎫⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛∑∑∑∑∑==+=+=+=k x y a x a x a x a x i k i i i k i i k i i k i i k i求解可得73321108423.1,103172.1,3.1784,-2492.9318--⨯=⨯-===a a a a .于是可得拟合多项式为332213)(x a x a x a a x +++=φ,最小误差为847.72=S ,拟合效果如图所示.·92·图:三次拟合效果,带*号的为拟合曲线.类似地,当4=m 时,即取四次多项式拟合,则正规方程组为4,3,2,1,0111411143111321112111110111==⎪⎭⎫⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛∑∑∑∑∑∑==+=+=+=+=k x y a x a x a x a x a x i ki i i k i i k i i k i i k i i k i求解可得104633210109312.1,1094.1,102626.7,12.0624,-7434.6557---⨯-=⨯=⨯-===a a a a a 于是可得拟合多项式为443322104)(x a x a x a x a a x ++++=φ,最小误差为102.66=S ,拟合效果如图5-5所示.图5-5:四次拟合效果,带*号的为拟合曲线.从上面的三次多项式拟合和四次多项拟合效果来看,差别不大.基本可以看出排沙量与水流量的关系.图5-6:第二段三·93··94· 次多项式拟合效果对于第二阶段,由表5-4可以类似地处理.我们用线性最小二乘法作三次和四多项式拟合.拟合效果如图5-6和5-7所示,最小误差分别为5.459=S 和1.236=S . 从拟合效果来看,显然四次多项式拟合要比三次多项式拟合好的多.图5-7:第二段四次多项式拟合效果。
第四章插值和曲线拟合
在实际问题和科学实验中所遇到的函数y=f(x),往往
没有解析表达式 , 只能根据试验观察或其它方法提供一
系列点的函数值; 有时尽管可以写出表达式,但是比较
复杂, 直接使用它感到不方便。我们经常需要利用已知
的数据去寻求某个简单的函数φ (x)来逼近f(x),即用φ (x)
作为f(x)的近似表达式。本章的插值法和曲线拟合就是
φ (xi) = yi ,
插值法的几何意义
插值法的几何意义就是通过n+1个点: (xi,yi) (i=0,1,2,…,n) 作一条近似曲线y= φ (x) 代替y=f(x)。如下图所示。 y=f(x) (xn,yn) y= φ (x) y
(x1,y1) (x0,y0) (x2,y2)
(xn-1,yn-1)
三、n次拉格朗日插值
仿照P2 (x)的构造方法,可得出 Pn(x)=L0(x)y0+L1(x)y1+…+Ln(x)yn 其中 L0(x)=[(x-x1)(x-x2)…(x-xn)]/ [(x0-x1)(x0-x2)…(x0-xn)] Lk(x)= [(x-x0)…(x-xk-1)(x-xk+1) …(x-xn)] /[(xk-x0)…(xk-xk-1)(xk-xk+1) …(xk-xn)] ( k = 0, 1, …, n ) 这就是n次拉格朗日插值多项式。 也可写为 n n n x x k P ( x ) L ( x ) y y n i i i x x i 0 i 0 k 0 , k i i 或 k
线性插值举例
例 解 或 已知 1001/2 =10,1211/2 =11 求 1151/2 P1(x) = y0+(y1-y0)/(x1-x0)*(x-x0) P1(115) = 10+(11-10)/(121-100)*(115-100)
计算方法-插值与拟合
Lagran ge插值
Newton 曲线经过所有 插值
插值
节点
等距节 点插值
多项式 拟合
拟合
曲线只要反映 幂函数 趋势即可
指数函 数
4.1插值法概述
解决的问题: 求近似函数 以及这个函数在 某点的近似值
解决问题的原则: 已知的点都 在曲线上
我们的选择: 代数插值
求一个多项式
代数插值
选取多项式 Pn(x) ,使得
f [xn1, xn, xn+1] …
f [x0, …, xn] f [x1, …, xn+1]
f [x0, …, xn+1]
由均差定义可知:高阶均差是两个低一阶均差的均差(差商)。
例4.3 根据已知数据 构造均差表
i
0
123源自45xi0
2
3
5
6
1
yi
0
8
27 125 216
1
均差表
91
4.4.2 牛顿基本插值公式 1. 牛顿插值公式 设已知函数y=f (x)在n+1个互异结点x0 ,x1 ,x2 ,…, xn上的 函数值为y0 ,y1 ,y2 ,…, yn。当n=1或2时,可分别有如下 形式的插值多项式
4.4 均差与牛顿基本插值公式
4.4.1 均差
1.均差(差商)的定义 设连续函数y=f (x)在n+1个互异节点x0 ,x1 ,x2 ,…, xn上对应的函 数值为y0 , y1 , y2 ,…, yn,
一般称
yi y j xi x j
(i j)
为函数f (x)关于xi , xj的一阶均差,记为 f [x j , xi ]
P1 ( x)
数值计算04-插值与拟合
二维插值的定义
第一种(网格节点):
y
O
x
已知 mn个节点 其中 互不相同,不妨设
构造一个二元函数
通过全部已知节点,即
再用
计算插值,即
第二种(散乱节点):
y
0
x
已知n个节点
其中 互不相同,
构造一个二元函数
通过全部已知节点,即
再用
计算插值,即
最邻近插值
y
( x1 , y2 ) ( x2 , y2 )
( x1 , y1 ) ( x2 , y1 )
x
O
注意:最邻近插值一般不连续。具有连续性的最简单 的插值是分片线性插值。
分片线性插值
速度最快,但平滑性差
linear
占有的内存较邻近点插值方法多,运算时间 也稍长,与邻近点插值不同,其结果是连续 的,但在顶点处的斜率会改变 运算时间长,但内存的占有较立方插值方法 要少,三次样条插值的平滑性很好,但如果 输入的数据不一致或数据点过近,可能出现 很差的插值结果 需要较多的内存和运算时间,平滑性很好 二维插值函数独有。插值点处的值和该点值 的导数都连续
x=0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 y=0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
海拔高度数据为: z=89 90 87 85 92 91 96 93 90 87 82 92 96 98 99 95 91 89 86 84 82 84 96 98 95 92 90 88 85 84 83 81 85 80 81 82 89 95 96 93 92 89 86 86 82 85 87 98 99 96 97 88 85 82 83 82 85 89 94 95 93 92 91 86 84 88 88 92 93 94 95 89 87 86 83 81 92 92 96 97 98 96 93 95 84 82 81 84 85 85 81 82 80 80 81 85 90 93 95 84 86 81 98 99 98 97 96 95 84 87 80 81 85 82 83 84 87 90 95 86 88 80 82 81 84 85 86 83 82 81 80 82 87 88 89 98 99 97 96 98 94 92 87
插值与拟合
一 维 插 值 matlab 求 解
一维插值函数:
yi=interp1(x,y,xi,'method')
xi处的插值 结果
插值节点
被插值点
插值方法
‘nearest’ :最邻近插值‘linear’ : 线性插值; ‘spline’ : 三次样条插值; ‘cubic’ : 立方插值。 缺省时: 分段线性插值。
数据插值与拟合
在工程实践与科学实验中,常常需要从一组试 验数据之中找到自变量与因变量之间的关系, 一般可用一个近似函数表示。函数产生的办法 因观测数据的要求不同而异,数据插值与拟合 是两种常用的方法。
一维插 值
在离散数据的基础上补插连续函数,使得 这条连续曲线通过全部给定的离散数据点。 插值是离散函数逼近的重要方法,利用它 可通过函数在有限个点处的取值状况,估 算出函数在其他点处的近似值。插值:用 来填充图像变换时像素之间的空隙。
X Y
1200 1600 2000 2400 2800 3200 3600
1200
1130 1320 1390 1500 1500 1500 1480
1600
1250 1450 1500 1200 1200 1550 1500
2000
1280 1420 1500 1100 1100 1600 1550
x=0:.5:5;
y=0:.5:6;
z=[89 90 87 85 92 91 96 93 90 87 82
92 96 98 99 95 91 89 86 84 82 84
96 98 95 92 90 88 85 84 83 81 85
80 81 82 89 95 96 93 92 89 86 86
插值与拟合问题
插值与拟合问题插值与拟合是数学和计算机科学领域中常见的问题,涉及到通过已知数据点来估计未知点的值或者通过一组数据点来逼近一个函数的过程。
在现实生活中,这两个问题经常用于数据分析、图像处理、物理模拟等领域。
本文将介绍插值与拟合的基本概念、方法和应用。
一、插值问题插值是通过已知的数据点来推断出未知点的值。
在插值问题中,我们假设已知数据点是来自于一个未知函数的取值,在这个函数的定义域内,我们需要找到一个函数或者曲线,使得它经过已知的数据点,并且可以通过这个函数或者曲线来估计未知点的值。
常见的插值方法包括线性插值、拉格朗日插值和牛顿插值。
线性插值是通过已知的两个数据点之间的直线来估计未知点的值,它简单而直观。
拉格朗日插值则通过构造一个关于已知数据点的多项式来估计未知点的值,这个多项式经过每一个已知数据点。
牛顿插值和拉格朗日插值类似,也是通过构造一个多项式来估计未知点的值,但是它使用了差商的概念,能够更高效地处理数据点的添加和删除。
不仅仅局限于一维数据点的插值问题,对于二维或者更高维的数据点,我们也可以使用类似的插值方法。
例如,对于二维数据点,我们可以使用双线性插值来估计未知点的值,它利用了四个已知数据点之间的线性关系。
插值问题在实际应用中非常常见。
一个例子是天气预报中的气温插值问题,根据已知的气温观测站的数据点,我们可以估计出其他地点的气温。
另一个例子是图像处理中的像素插值问题,当我们对图像进行放大或者缩小操作时,需要通过已知像素点来估计未知像素点的值。
二、拟合问题拟合是通过一组数据点来逼近一个函数的过程。
在拟合问题中,我们假设已知的数据点是来自于一个未知函数的取值,我们需要找到一个函数或者曲线,使得它能够与已知的数据点尽可能地接近。
常见的拟合方法包括多项式拟合、最小二乘拟合和样条拟合。
多项式拟合是通过一个多项式函数来逼近已知的数据点,它的优点是简单易用,但是对于复杂的函数形态拟合效果可能不好。
最小二乘拟合则是寻找一个函数,使得它与已知数据点之间的误差最小,这个方法在实际应用中非常广泛。
第四章插值与拟合
第四章 插值与拟合插值与拟合是来源于实际,又广泛应用于实际的两种重要的方法。
随着计算机的不断发展及计算水平的不断提高,他们已在国民生产和科学研究等方面扮演着越来越重要的角色。
在测量上观测值不等间隔和后续值的预测及观测值的曲线拟合,都需要插值与拟合来完成。
本节将对插值法中重要的LAGRANGE 插值,分段线性插值,HERMITE 插值及三次洋条插值做介绍,说明利用MATLAB 处理此类问题的方法。
另外还对拟合中最为重要的最小二乘法拟合和快速FURIER 变换加以介绍。
第一节 插值运算(一)LAGRANGE 插值1.方法介绍对给定的N 个插值节点x1,x2,x3……,xn 及对应的函数值y1,y2,y3……,yn,利用(n-1)次LAGRANGE 插值多项式公式,则对插值区间内的任意X 的函数值Y 可通过下式求得.Y(x)=∑=nk Yk 1( ∏≠=nkj j ,1xx x x --)2.MATLAB 的实现 Lagrange.mFunction y=lagrange(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0;for j=1;nif j~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;end3.题目举例例: 给出F(x)=ln(x)的数值表,用LAGRANGE插值计算ln0.54的近似值解: 在MATLAB命令窗口中输入x=[0.4:0.1:0.8];y=[-0.916291 -0.693147 -0.510826 -0.356675 -0.223144];lagrange(x,y,0.54)ans=-0.616143说明:同精确解ln(0.54)=-0.616186比较起来,误差还是可以接受的,特别是在工程应用之中.(二)RUNGE现象的产生和分段线性插值1.方法介绍上面根据区间[a,b]上给出的节点做插值多项式ln(x)近似值,一般总认为ln(x)的次数越高逼近f(x)的精度就越好。
插值与拟合
二、MATLAB实现插值
一维插值函数: yi=interp1(x,y,xi,'method')
xi处的 插值结果
插值节点
被插值点
‘nearest’ ‘linear’
插值方法
最邻近插值; 线性插值; ‘spline’ 三次样条插值; ‘cubic’ 立方插值; 注意:所有的插值方法 都要求x是单调的,并且xi不 缺省时 分段线性插值. 能够超过x的范围.
其中
定理:当RTR可逆时,超定方程组(3)存在最小二乘解, 且即为方程组
RTRa=RTy
的解:a=(RTR)-1RTy
线性最小二乘拟合 f(x)=a1r1(x)+ …+amrm(x)中 函数{r1(x), …rm(x)}的选取 1. 通过机理分析建立数学模型来确定 f(x); 2. 将数据 (xi,yi) i=1, …n 作图,通过直观判断确定 f(x): f=a1+a2x + + + + + f=a1+a2x+a3x2 + + + + + f=a1+a2x+a3x2 + + + + +
计算机应用基础-4-积分方程及应用
a i 1 a i 1 N 2 N 2
为最小。Matlab调用格式如下:
[a, J m ] lsqcurvefi (Fun, a 0 , x, y) t
4.2 拟合函数
其中 Fun为原型函数的Matlab表示,可以使M函数inline( ) 函数;
%计算插值点的函数值 %将插值多项式展开 %将插值多项式的系数化成6位精度的小数
4.1 插值函数
三 Matlab 自带函数插值 3.1 一维插值
Matlab提供了interp1函数用于一维插值,其调用格式为
yi=interp1(x,Y,xi,method)
对节点(x,Y)进行插值,计算插值点xi的函数值; Method插值算法,默认的为线性插值: nearest:线性最近插值 linear:线性插值(默认) spline:三次样条插值 pchip:分段三次埃尔米特插值 cubic: 双三次插值
a0 为最优化的初值;
x,y 为原始输入和输出数据向量;
a为返回的待定系数向量; Jm为在此待定系数下目标函数的值。
4.2 拟合函数
二 最小二乘多项式拟合
对于离散型函数,若数据点较多,若将每个数据点 都当做插值节点,运算显得非常复杂。在工程试验中, 常测得一组离散数据点(xi,yi), (i=1,2…N),要求 y=(x),这种应变量只有一个自变量的数据拟合方法 称之为直线拟合。(仍然采用最小二乘方法) p=polyfit(x,y,n)
拟合的函数形式可任意, 因此拟合调用需要注明拟合函数, 即需要建立一个Fun的函数,需要初值,而且结果与初值 密切相关。
4.2 拟合函数
【例4-5】已知的数据点来自f(x)=(x2-3x+5)e-5xsinx
第四章 拟合与插值
且满足:1)si ( x)为三次多项式。
函数?
2) S( xi ) f ( xi ) (i 0,1, , n) 3) S( x) C 2[ x0, xn] 4) S( x0 ) S( xn ) 0 (自然边界条件) 则: lim S( x) f ( x) 且插值函数S(x)具有2阶光滑性。
n
13
Matlab中的一维插值函数interp1 格式1:yi=interp1(x,y,xi) 功能:已知函数y=f(x)的一组插值节点(x,y),求出其 插值函数F(x)在点xi处的函数值yi。 格式2:yi=interp1(y,xi) 默认x=1:n,n为向量y的元素个数。 格式3:yi=interp1(x,y,xi,’method’)
1500 1500 1500 1390 1320 1130 970 800 600 1200
1550 1200 1200 1500 1450 1250 1020 850 670 1600
1600 1100 1100 1500 1420 1280 1050 870 690 2000
1550 1550 1350 1400 1400 1230 1200 850 670 2400
A
B
D C
6
对数据求出合适次数 的拟合多项式p(x), 由弧长公式:
s 20 1 ( p( x))2dx 0
得出对河底光缆长 度的估计s, 所需光缆为 s+y(0)+y(20)
6次多项式拟合较为 合适。
光缆总长:46.28m
x=0:1:20; y=[-9.2,-8.91,-8.02,-7.95,-8.11,-9.05,-10.12,-
默认为双线性插值。
第四章插值和拟合
y1 y0 x0
2015/6/7
L1(x) f(x) x1
数值计算方法 18
Lagrange插值多项式
二次(抛物线)插值(n=2) ( x − x1 )( x − x2 ) l0 ( x) = ( x0 − x1 )( x0 − x2 ) y
( x − x0 )( x − x2 ) l1 ( x) = ( x1 − x0 )( x1 − x2 )
是否存在唯一 如何构造 误差估计
7
2015/6/7
数值计算方法
插值问题
插值函数类
代数多项式:选取多项式Pn(x)作为插值函数,Pn(x)称为插值多项式。
n
Pn ( x) = ∑ ai x i
有理函数:选取有理函数(多项式的商)作为插值函数。
i =0
Φ
n,m
Pn (x ) p 0 + p1 x + + p n x n (x ) = = Qm (x ) q 0 + q1 x + + q m x m
则
1 Ak = ( xk − x0 ) ( xk − xk −1 )( xk − xk +1 ) ( xk − xn )
n次基本插 值多项式或 n次插值基 函数
n ( x − x0 )( x − x1 ) ( x − xk −1 )( x − xk +1 ) ( x − xn ) ( x − xi ) lk ( x ) = =∏ ( xk − x0 )( xk − x1 ) ( xk − xk −1 )( xk − xk +1 ) ( xk − xn ) i =0 ( xk − xi ) k ≠i
线性插值
计算方法 第4章 插值方法与数据拟合
定理4.1设函数 在区间 上有定义,给定其中n+1个互异点及相应的函数值 ,必存在唯一的多项式函数
(4.4)
满足插值条件 。
证明:将 代入(4.4)式的多项式函数,根据插值条件有
该方程组系数矩阵的行列式为:
即可构造出 次插值多项式
(4.9)
此插值函数满足插值条件是显然的,现构造 次插值基函数,根据 的特点设
将 代入此式,求出待定系数 即可得到基函数
(4.10)
有此基函数,就可得到 次Lagrange插值函数。
(4.11)
如果记
(4.12)
则有
(4.13)
从而 次Lagrange插值函数也可表示为:
4.插值余项
由克兰姆法则,该方程组的解存在且唯一,即多项式函数 存在且唯一。
根据定理4.1中插值多项式的唯一性可得如下推论。
推论:对于次数不超过 的多项式,插值多项式就是其被插函数自身,即 。
4.2
1.线性插值
首先考虑最简单的两点插值,已知两个互异的插值节点 和它们的函数值 ,现构造如图的线性插值函数 ,显然只需构造过两点 的直线函数即可
与 的精确值 相比二次插值函数的计算结果有3位数字相同,优于线性插值的结果。
3.n次插值问题
考虑 个点插值问题,已知 个互异的插值节点 及相应的函数值 ,构造这 个点的插值函数( 次多项式) 使其满足插值条件
根据定理4.1, 存在且唯一,类似于线性、抛物线插值函数的形式,构造 次基函数 ,使其满足
(4.8)
当插值节点数 时得到线性插值公式和抛物线插值公式的插值余项。
第4章 插值和拟合
第4章 插值和拟合多项式插值
n x 因此,若以 i i 0 为插值节点,对函数f(x)=1构造插值多项式,
y0=y1==yn=1代入式(4.2.6),得到插值基函数的另一个性质
lk( n ) ( x ) 1 因此插值基函数(4.2.4)是单位正交基。
插值函数,式(4.1.1)称为插值条件。
第4章 插值和拟合多项式插值 插值函数除代数多项式外,常用的还有三角多项式。插值条 件除(4.1.1)式外,还可以 (如Hermit插值 )加上导数条件。本课 程只介绍代数多项式插值。 函数插值是数值计算的基本工具,如本课程后面的数值微分、 数值积分、微分方程的数值解法等都要用到函数插值。插值 法在工程实际和许多学科的理论分析中有广泛的应用。 函数插值的基本问题有:存在唯一性、构造方法、截断误差 和收敛性,以及数值计算的稳定性等。
( n 1 ) f ( )n x R ( x ) f ( x ) L ( x ) ( x x ) n n i ( n 1 )! i 0
(4.2.9)
第4章 插值和拟合多项式插值 证 如果x是一个插值节点xi,定理命题显然为真,等式(4.2.9)
两边都是0。
如果x xi(i=0,1,,n) ,记 构造以t为自变量的辅助函数
代入式(4.2.6),得
( 2 ) ( 2 ) ( 2 ) 2 L ( x ) 1 l ( x ) 5 l ( x ) ( 1 ) l ( x ) x 3 x 1 2 0 1 2
第4章 插值和拟合多项式插值
4.2.2 插值的余项(误差分析)
由定义4.1.1定义的插值多项式在插值节点与被插函数严格相等,
插值与拟合方法
插值与拟合方法插值和拟合是数学中常用的方法,用于根据已知数据点的信息,推断出未知数据点的数值或函数的形式。
插值和拟合方法是经典的数学问题,应用广泛,特别是在数据分析、函数逼近和图像处理等领域。
1.插值方法:插值方法是通过已知数据点的信息,推断出两个已知数据点之间的未知数据点的数值。
插值方法的目的是保证插值函数在已知数据点处与实际数据值一致,并且两个已知数据点之间的连续性良好。
最常用的插值方法是拉格朗日插值法和牛顿插值法。
拉格朗日插值法根据已知数据点的横纵坐标,构造一个多项式函数,满足通过这些数据点。
拉格朗日插值法可以用于任意次数的插值。
牛顿插值法是使用差商的概念进行插值。
差商是指一个多项式在两个数据点之间的斜率。
牛顿插值法通过迭代计算得到与已知数据点一致的多项式。
插值方法的优点是可以精确地经过已知数据点,但是在两个已知数据点之间的插值部分可能会出现震荡现象,从而导致插值结果不准确。
2.拟合方法:拟合方法是通过已知数据点的信息,找出一个函数或曲线,使其能够最好地拟合已知数据点。
拟合方法的目标是寻找一个函数或曲线,尽可能地逼近已知数据点,并且能够在未知数据点处进行预测。
最常用的拟合方法是最小二乘法。
最小二乘法是通过求解最小化残差平方和的问题来进行拟合。
残差是指已知数据点与拟合函数的差异。
最小二乘法的目标是找到一个函数,使得所有数据点的残差平方和最小。
拟合方法的优点是可以得到一个光滑的函数或曲线,从而可以预测未知数据点的数值。
但是拟合方法可能会导致过拟合问题,即过度拟合数据点,导致在未知数据点处的预测结果不准确。
除了最小二乘法,还有其他的拟合方法,如局部加权回归和样条插值等。
局部加权回归是一种基于最小二乘法的拟合方法,它通过赋予不同的数据点不同的权重,来实现对未知数据点的预测。
样条插值是一种基于多项式插值的拟合方法,它将整个数据集分段拟合,并且在分段部分保持连续性和光滑性。
总结:插值和拟合方法是数学中的经典方法,用于根据已知数据点的信息,推断出未知数据点的数值或函数的形式。
拟合与插值(一)
第4章 拟合与插值1(2课时)教学目的1.了解最小二乘法的原理.2.通过实例的学习,懂得如何用拟合和插值的方法解决实际的问题,并能注意它们的联系与区别,会用 Matlab 来求解 教学内容1.拟合与插值的原理及简单分类.2.相应问题的实例建模及用软件求解的实现. 3.练习与上机实验的内容. 1.拟合 1.1 引言对于情况较复杂的实际问题(因素不易化简,作用机理不详)可直接使用数据组建模,寻找简单的因果变量之间的数量关系, 从而对未知的情形作预报。
这样组建的模型为拟合模型。
拟合模型的组建主要是处理好观测数据的误差,使用数学表达式从数量上近似因果变量之间的关系。
拟合模型的组建是通过对有关变量的观测数据的观察、分析和选择恰当的数学表达方式得到的。
拟合模型组建的实质是数据拟合的精度和数学表达式简化程度间的一个折中。
折中方案的选择将取决于实际问题的需要。
1.2拟合模型的分类 1.2.1直线拟合假设所给数据点(,i i x y ),i=1,2,……N 的分布大致成一条直线,虽然我们并不要求所作的拟合直线严格地通过所有的数据点(y a bx =+,i i x y ),但总希望它尽可能地从所给数据点附近通过,就是说,要求近似成立i i y a bx =+,i=1,2,……N 这里,数据点数目通常远大于待定系数的数目即N>>2,因此,拟合直线的构造,本质上是个解超定方程组的代数问题。
设 i i y a bx =+ i=1,2,……N表示按拟合直线求得的近似值,一般地说,它不同于实测值y a bx =+i y ,两者之差称残差。
显然,残差的大小是衡量拟合好坏的重要标志,具体地说,我们可以采用下列三种准则:i i i e y y −=−(1) 使残差的最大绝对值为最小:max min i ie =(2) 使残差的绝对值之和最小:min i ie =∑(3) 使残差的平方和为最小:2min i ie =∑分析以上三种准则,(1) 、(2)两种提法比较自然,但由于含有绝对值运算不方便于实际应用,而基于(3)来选取拟合曲线的方法称曲线拟合的最小二乘法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性插值是代数插值的最简单形式。假设给定了函数
f(x)在两个互异的点的值,x0
x1
y0 f ( x0 ), y1 f ( x1 )
(2)抛物插值
抛物插值又称二次插值,它也是常用的代数插值之一。
设已知 f(x) 在三个互异点 x0,x1,x2 的函数值 y0,y1,y2
,要构造次数不超过二次的多项式
P( x) a2 x a1 x a0
2
使满足二次插值条件:
P( xi ) yi
(i 0,1,2)
这就是二次插值问题。其几何意义是用经过3个点
xi
(i=0,1,…,n )
以本章主要介绍代数插值。即求一个次数不超过n次的多
项式。
P( x) an x an1 x
n
n1
a1 x a0
P( x) an x an1 x
n
n1
a1 x a0
满足
P( xi ) f ( xi )
(i 0,1,2,, n)
的代数方程组:
2 a0 a1 x0 a 2 x0 y 0 该三元一 2 a a x a x 次方程组 0 1 1 2 1 y1 2 的系数矩阵 a a x a x y 1 2 2 2 2 0
1 x0 1 x1 1 x 2
x x x
a0 , a1 ,, an 的n+1阶线性方 这是一个关于待定参数 惟一性说明,不论用何种方法来构造,也不论用何种 程组 形式来表示插值多项式 ,其系数矩阵行列式为 ,只要满足插值条件(4.1)其结 果都是相互恒等的。
V
1 x0 1 x1 1 xn
2 x0 x12
n x0 x1n
( x x0 )(x x2 ) ( x x0 )(x x1 ) ( x x1 )(x x2 ) P( x) y0 y1 y2 ( x0 x1 )(x0 x2 ) ( x1 x0 )(x1 x2 ) ( x2 x0 )(x2 x1 )
容易看出,P(x)满足条件
第四章
§4.1 引言 问题的提出
插值与拟合
– 函数解析式未知,通过实验观测得到的一组数据, 即在 某个区间[a, b]上给出一系列点的函数值 yi= f(xi) – 或者给出函数表
x y
x0 y0
x1 y1
x2 y2
…… ……
xn yn
y=p(x)
y=f(x)
插值法的基本原理
设函数y=f(x)定义在区间[a, b]上, x0 , x1 ,, xn 是 [a, b]上取定的n+1个互异节点,且在这些点处的函数值 为已知 f ( x0 ), f ( x1 ),, f ( xn ) f(x)的近似函数 ( x) ,满足 , 即 yi f ( xi ) 若存在一个
j 0 ji n
(x xj ) ( xi x j )
( i 0,1, , n)
(*)
称之为Lagrange插值基函数.
以n+1个n次基本插值多项式
l k ( x)(k 0,1,, n)
为了便于推广,记 这是一次函 数,且有性质
x x0 x x1 l 0 ( x) , l1 ( x) x0 x1 x1 x0
l0 ( x0 ) 1, l0 ( x1 ) 0 l1 ( x0 ) 0 , l1 ( x1 ) 1
l0 ( x) l1 ( x) 1
则称P(x)为f(x)的n次插值多项式。这种插值法通常称
为代数插值法。其几何意义如下图所示
y y=P(x) y=f(x)
y1 x0 x1
yn xn x
定理1 n次代数插值问题的解是存在且惟一的
证明: 设n次多项式
P( x) an x an1 x
n
n1
a1 x a0
是函数 y f ( x) 在区间[a, b]上的n+1个互异的节点 x i (i=0,1,2,…,n )上的插值多项式,则求插值多项式P(x) 的问题就归结为求它的系数 a i(i=0,1,2,…,n )。
2 0 2 1 2 2
的行列式是范德蒙行列式,当 方程组的解唯一。
x0 x1 x2
时,
为了与下一节的Lagrange插值公式比较,仿线性插值,用 基函数的方法求解方程组。先考察一个特殊的二次插值 问题: 求二次式 l0 ( x) ,使其满足条件:
l0 ( x0 ) 1, l0 ( x1 ) 0 , l0 ( x2 ) 0
( xi ) f ( xi )
(i 1,2,, n)
(4.1)
则称 ( x) 为f(x)的一个插值函数, f(x)为被插函数, 点
xi为插值节点, 称(2.1)式为插值条件, 而误差函数
R(x)= f ( x) ( x) 称为插值余项, 区间[a, b]称为插值 区间, 插值点在插值区间内的称为内插, 否则称外插
l k ( xi ) ki
1 0
k 0,1
(i k ) (i k )
l 0 ( x) 与 l1 ( x) 称为线性插值基函数。且有
l k ( x)
j 0 j k 1
x xj xk x j
,
于是线性插值函数可以表示为与基函数的线性组合
p( x) l0 ( x) y0 l1 ( x) y1
于是
Ak
1ห้องสมุดไป่ตู้
(x
j 0 j k
n
k
xj)
代入上式,得
(x x
l k ( x)
j 0 j k n
n
j
)
j 0 jk n
x xj xk x j
(x
j 0 j k
k
xj)
称
l k ( x) 为关于基点
x i 的n次插值基函数(i=0,1,…,n)
都是n次 l k ( x) 的零点,故可设
lk ( x) Ak ( x x0 )(x x1 )( x xk 1 )(x xk 1 )( x xn )
其中 Ak 为待定常数。由条件 lk ( xk ) 1 ,可求得 Ak
Ak ( xk x j ) 1
j 0 j k n
lk ( x0 ) 0,, lk ( xk 1 ) 0, lk ( xk ) 1, lk ( xk 1 ) 0,, lk ( xn ) 0
1 (i k ) l k ( xi ) ki 0 (i k )
即
由条件 l k ( xi ) 0 ( i k )知, x0 , x1 ,, xk 1 , xk 1 ,, xn
由插值条件: p( xi ) f ( xi ) (i=0,1,2,…,n),可得
a n x0 n a n 1 x0 n 1 a1 x0 a 0 f ( x0 ) n n 1 a n x1 a n 1 x1 a1 x1 a 0 f ( x1 ) a x n a x n 1 a x a f ( x ) n 1 n 1 n 0 n n n
这个问题容易求解。由上式的后两个条件知: x1 , x 2 是 l0 ( x) 的两个零点。于是
1 再由另一条件 l0 ( x0 ) 1 确定系数 c ( x0 x1 )(x0 x2 ) ( x x1 )(x x2 ) 从而导出 l0 ( x) ( x0 x1 )(x0 x2 )
y=f(x) p(x)=ax+b A(x.0,f(x.0)) B(x.1,f(x.1))
的直线近似地代替曲线 y=f(x)由解析几何知道, 这条直线用点斜式表示为
y1 y0 p ( x) y 0 ( x x0 ) x1 x0
x x0 x x1 p ( x) y0 y1 x0 x1 x1 x0
,现要求用线性函数 p( x) ax b 近似地代替f(x)。选 择参数a和b, 使 p( xi ) f ( xi )(i 0,1)。称这样的线性函数 P(x)为f(x)的线性插值函数 。
线性插值的几何意义:用
通过点
A( x0 , f ( x0 ))和 B( x1 , f ( x1 ))
x
2 n
n xn
( xi x j )
i 1 j 0
n
i 1
称为Vandermonde(范德蒙)行列式,因xi≠xj (当i≠j),故V≠0。根据解线性方程组的克莱姆 (Gramer)法则,方程组的解 a0 , a1 ,, an
存在惟一,从而P(x)被惟一确定。
§4.2 拉格朗日(Lagrange)插值
插值函数 ( x) 在n+1个互异插值节点
处与 f ( xi ) 相等,在其它点x就用 ( x) 的值作为f(x) 的近似值。这一过程称为插值,点x称为插值点。换 句话说, 插值就是根据被插函数给出的函数表“插出” 所要点的函数值。用 ( x) 的值作为f(x)的近似值,不仅希 望 ( x) 能较好地逼近f(x),而且还希望它计算简单 。由 于代数多项式具有数值计算和理论分析方便的优点。所
l0 ( x) c( x x1 )(x x2 )
类似地可以构造出满足条件: l1 ( x1 ) 1, l1 ( x0 ) 0 , l1 ( x2 ) 0 的插值多项式
( x x0 )(x x2 ) l1 ( x) ( x1 x0 )(x1 x2 )