第九讲数据插值与拟合
插值与拟合
![插值与拟合](https://img.taocdn.com/s3/m/95c91a3cccbff121dd36838d.png)
插值与拟合大多数数学建模问题都是从实际工程或生活中提炼出来的,往往带有大量的离散的实验观测数据,要对这类问题进行建模求解,就必须对这些数据进行处理。
其目的是为了从大量的数据中寻找它们反映出来的规律。
用数学语言来讲,就是要找出与这些数据相应的变量之间的近似关系。
对于非确定性关系,一般用统计分析的方法来研究,如回归分析的方法。
对于确定性的关系,即变量间的函数关系,一般可用数据插值与拟合的方法来研究。
插值与拟合就是要通过已知的数据去确定某一类已知函数的参数或寻找某个近似函数,使所得到的近似函数对已知数据有较高的拟合进度。
如果要求这个近似函数经过所有已知的数据点,则称此类问题为插值问题。
当所给的数据较多时,用插值方法所得到的插值函数会很复杂,所以,通常插值方法用于数据较少的情况。
其实,通常情况下数据都是由观测或试验得到的,往往会带有一定的随机误差,因而,要求近似函数通过 所有的数据点也是没有必要的。
如果不要求近似函数通过所有的数据点,而是要求他能较好地反映数据的整体变化趋势,则解决这类问题的方法称为数据拟合。
虽然插值与拟合都是要构造已有数据的近似函数,但因对近似要求的准则不同,因此二者在数学方法上有很大的差异。
一、引例简单地讲,插值是对于给定的n 组离散数据,寻找一个函数,使该函数的图象能严格通过这些数据对应的点。
拟合并不要求函数图象通过这些点,但要求在某种准则下,该函数在这些点处的函数值与给定的这些值能最接近。
例1:对于下面给定的4组数据,求在110=x 处y 的值。
这就是一个插值问题。
我们可以先确定插值函数,再利用所得的函数来求110=x 处y 的近似值。
需要说明的是这4组数据事实上已经反映出x 与y 的函数关系为:x y =,当数据量较大时,这种函数关系是不明显的。
也就是说,插值方法在处理数据时,不论数据本身对应的被插值函数)(x f y =是否已知,它都要找到一个通过这些点的插值函数,此函数是被插值函数的一个近似,从而通过插值函数来计算被插值函数在未知点处的近似值。
插值与拟合
![插值与拟合](https://img.taocdn.com/s3/m/a790a25891c69ec3d5bbfd0a79563c1ec5dad7db.png)
且 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)
线性插值函数为
数学建模~插值与拟合(课件ppt)
![数学建模~插值与拟合(课件ppt)](https://img.taocdn.com/s3/m/2f82e8f5172ded630b1cb661.png)
• 代数多项式插值是最常用的插值方式,其内容也 是最丰富的,它又可分为以下几种插值方式: (1)非等距节点插值,包括拉格朗日插值、利用 均差的牛顿插值和埃特金插值; (2)非等距节点插值,包括利用差分的牛顿插值 和高斯插值等; (3)在插值中增加了导数的Hermite(埃尔米特) 插值; (4)分段插值,包括分段线性插值、分段Hermite (埃尔米特)插值和样条函数插值; (5)反插值。 • 按被插值函数的变量个数还可把插值法分为一元 插值和多元插值。
引言2---插值和拟合的联系与区别
联系:二者都是函数逼近的主要方法
• 区别: •运算过程上的区别:
– 拟合:是将数据点用最恰当的曲线描述出来,以反映问题的规律, 是特殊到一般的过程。 – 插值:是在知道曲线的形状后得出某些具体点的性质的过程,是 从一般到特殊。
•求解误差上的区别:
– 拟合:考虑观察值的误差(误差不可避免时)。以偏差的某种最 小为拟合标准
n n ik
0 i k 而: lk xi 1 i k
22
例1
x1 1, x2 2, x3 4, f ( x1 ) 8, f ( x2 ) 1, f ( x3 ) 5
求二次插值多项式。
解:
按拉格朗日方法,有:
L( x) y1l1 x y2l2 x y3l3 x ( x 2)( x 4) ( x 1)( x 4) ( x 1)( x 2) 8 1 5 (1 2)(1 4) (2 1)(2 4) (4 1)(4 2) 3x 2 16 x 21
4.2 插值方法 选用不同类型的插值函数,逼近的效 果就不同,一般有: (1)拉格朗日插值(lagrange插值) (2)分段线性插值 (3)Hermite (4)三次样条插值。
什么叫拟合?什么叫插值?二者的区别是什么?
![什么叫拟合?什么叫插值?二者的区别是什么?](https://img.taocdn.com/s3/m/3afdac49c850ad02de80415a.png)
function [xc,yc,R,a] = circfit(x,y)
%CIRCFIT Fits a circle in x,y plane
%
% [XC, YC, R, A] = CIRCFIT(X,Y)
% Result is center point (yc,xc) and radius R.A is an optional
% output describing the circle's equation:
%
% x^2+y^2+a(1)*x+a(2)*y+a(3)=0
% by Bucher izhak 25/oct/1991
n=length(x); xx=x.*x; yy=y.*y; xy=x.*y;
(i=1~n)
|x11,x21,…xm1|
A=|x12,x22,…xm2|
|…………… |
|x1n,x2n,…xmn|
Y={y1,y2,y3,…,yn}'
则系数{a1,a2,…,am}'=pinv(A)*Y
在matlab中使用
coeff=A\Y
则可以得到最小二乘意义上的拟合系数
过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给
定离散点上满足约束。插值函数又叫作基函数,如果该基函数定义在
整个定义域上,叫作全域基,否则叫作分域基。如果约束条件中只有
函数值的约束,叫作Lagrange插值,否则叫作Hermite插值。
从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式
yc = -.5*a(2);
R = sqrt((a(1)^2+a(2)^2)/4-a(3));
插值与拟合
![插值与拟合](https://img.taocdn.com/s3/m/3d1def351eb91a37f1115cbc.png)
常用方法——最小二乘法拟合
令: 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
插值与拟合方法
![插值与拟合方法](https://img.taocdn.com/s3/m/a3738d06cc1755270722088a.png)
插值与拟合方法在实际中,常常要处理由实验或测量所得到的一批离散数据.插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻找某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度.插值问题:要求这个近似函数(曲线或曲面)经过所已知的所有数据点.通常插值方法一般用于数据较少的情况.数据拟合:不要求近似函数通过所有数据点,而是要求它能较好地反映数据的整体变化趋势。
共同点:插值与拟合都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法,由于对近似要求的准则不同,因此二者在数学方法上有很大的差异.插值问题的一般提法:已知某函数)(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:第二段四次多项式拟合效果。
第九讲 数据插值与拟合
![第九讲 数据插值与拟合](https://img.taocdn.com/s3/m/7303d9cd8bd63186bcebbcca.png)
插值则要求函数在每个观测点处一定要满足 y i f ( xi )
插值函数一般是已知函数的线性组合或者称为加权平 均.插值在工程实践和科学实验中有着非常广泛而又十 分重要的应用,例如,信息技术中的图像重建、图像放 大中为避免图像的扭曲失真的插值补点、建筑工程的外 观设计。化学工程实验数据与模型的分析、天文观测数 据、地理信息数据的处理如(天气预报)以及社会经济 现象的统计分析等等.
zi int erhod' )
其中 x,y,z为插值节点,zi为被插值点(xi,yi)处的插值结果 且, xi, yi为被插值节点构成的新的网格数据 ‘methods’代表的意思和可选择的插值方法和前面一样 注意:所有的插值方法都要求x和y是单调的网格,x和 y可以 是等距的也可以是不等距的
:最近点等值方式
缺省时表示线性插值
例1 在一 天24小时内,从零点开始每间隔2小时测得的环 境温度数据分别为
12,9,9,1,0,18 ,24,28,27,25,20,18,15,13,
推测中午(即13点)时的温度.
x=0:2:24; y=[12 9 9 10 18 24 28 27 25 20 18 15 13]; x1=13 ; y1=interp1(x,y,x1,‘spline’)
(2)一般函数线性组合的曲线拟合
假设已知函数原型为 f ( x) c0 0 ( x) c11 ( x) cm m ( x) 通过求解线性方程可得待定系数,一般方法: X=[…] %已知数据x的列向量 Y=[…] %已知数据y的列向量 A=[f1(X),f2(X),…,fm(X)] %系数矩阵,fm()为基函数 c=A\y
线性最小二乘法
拟合函数可由一些简单的“基函数”(例如幂函数,三 角 0 ( x), 1 ( x), , n ( x) 来线性表示 函数等等)
插值与拟合
![插值与拟合](https://img.taocdn.com/s3/m/9f178954240c844769eaeeff.png)
一 维 插 值 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
插值与拟合
![插值与拟合](https://img.taocdn.com/s3/m/561db656767f5acfa1c7cd21.png)
二、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 + + + + +
数学建模精选经典课件之插值与拟合
![数学建模精选经典课件之插值与拟合](https://img.taocdn.com/s3/m/873f9ac3011ca300a6c390bc.png)
可以看出这些点大致分 布在一条直线附近。
我们不妨用插值法,和拟合法两种方法对比 的看看他们的图像,找出他们的差别。
对这样的数据采用上一节介绍的插值方法近 似求描述物理规律的解析函数,必然存在下 列缺点:
在一个包含有很多数据点的区间内构 造插值函数,必然使用高次多项式。而 高次插值多项式是不稳定的。
700 850 950 1010 1070 1550 980
通过此例对最近邻点插值、双线性插值方法和双三次插值 方法的插值效果进行比较。
散乱节点定义
已知n个节点
其中
互不相同,
构造一个二元函数
通过全部已知节点,即
再用
计算插值,即
Matlab中网格节点插值的函数
cz=griddata(x0,y0,z0,cx,cy,’method’)
插值&拟合
一.插值法(内插,外插)
内插:是数学领域数值分析中的通过已知的离散数据 求未知数据的过程或方法。
在这里我们所讲的插值法指的就是内插法!
二.拟合法
科学和工程问题可以通过诸如采样、实验等方法获 得若干离散的数据,根据这些数据,我们往往希望得到 一个连续的函数(也就是曲线)或者更加密集的离散方 程与已知数据相吻合,这过程就叫做拟合 (fitting)。
数据的插值与拟合问题在很多赛题中都有应用。
与图形有关的问题很多和插值与拟合有关系,例如98 年美国赛的A题,生物组织切片的三位插值处理,94 年的A题逢山开路,山体海拔高度的插值计算。2001 年的公交调度拟合问题,2003年的饮酒驾车拟合问题, 2005年的雨量预报的评价的插值计算。甚至是上次的 东北三省赛的A题人口预测问题也涉及到了拟合计算。
互不相xj
xn
插值和拟合区别
![插值和拟合区别](https://img.taocdn.com/s3/m/70f2e5c45fbfc77da269b11a.png)
例
• 数据分析
>> x=[1.1052,1.2214,1.3499,1.4918,1.6487,1.8221,2.0138,... 2.2255,2.4596,2.7183,3.6693];
fnplt(sp2,':')
125.29*x^4+74.450*x^327.672*x^2+4.9869*x+.42037e-6
最小二乘曲线拟合
• 格式: [a, jm]=lsqcurvefit(Fun,a0,x,y)
例 >> x=0:.1:10; >> y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);
数据拟合
• 用插值的方法对一函数进行近似,要求所 得到的插值多项式经过已知插值节点;在 n比较大的情况下,插值多项式往往是高 次多项式,这也就容易出现振荡现象(龙 格现象),即虽然在插值节点上没有误 差,但在插值节点之外插值误差变得很大, 从“整体”上看,插值逼近效果将变得 “很差”。
• 数据拟合是求一个简单的函数,例如是一 个低次多项式,不要求通过已知的这些点, 而是要求在整体上“尽量好”的逼近原 函数。
• 拟合最高次数为8的多项式: >> vpa(poly2sym(p8),5) ans = -8.2586*x^8+43.566*x^7-101.98*x^6+140.22*x^5-
125.29*x^4+74.450*x^327.672*x^2+4.9869*x+.42037e-6 • Taylor幂级数展开: >> syms x; y=(x^2-3*x+5)*exp(-5*x)*sin(x); >> vpa(taylor(y,9),5) ans = 5.*x-28.*x^2+77.667*x^3-142.*x^4+192.17*x^5204.96*x^6+179.13*x^7-131.67*x^8
数学建模——拟合与插值
![数学建模——拟合与插值](https://img.taocdn.com/s3/m/8de1de47de80d4d8d15a4ff3.png)
即要求 出二次多项式: f(x)a1x2a2xa3
11
中 的 A(a1,a2,a3) 使得:
[f (xi)yi]2 最小
i1
fun是一个事先建立的 定义函数F(x,xdata) 的 M-文件, 自变量为x和 xdata
选项见无 迭代初值 已知数据点 约束优化
18
25.03.2020
2. lsqnonlin
已知数据点: xdata=(xdata1,xdata2,…,xdatan) ydata=(ydata1,ydata2,…,ydatan)
+
+
y=f(x) +
x i 为点(xi,yi) 与曲线 y=f(x) 的距离
6
25.03.2020
线性最小二乘拟合 f(x)=a1r1(x)+ …+amrm(x)中 函数{r1(x), …rm(x)}的选取 1. 通过机理分析建立数学模型来确定 f(x);
2. 将数据 (xi,yi) i=1, …n 作图,通过直观判断确定 f(x):
2)计算结果:A = [-9.8108, 20.1293, -0.0317]
f(x) 9.81x0 2 8 2.1 02x9 0 3 .0317
16
25.03.2020
用MATLAB作非线性最小二乘拟合
两个求非线性最小二乘拟合的函数:
lsqcurvefit、lsqnonlin。
相同点和不同点:两个命令都要先建立M-文件fun.m,定义函 数f(x),但定义f(x)的方式不同。
数学建模精品教材第九章插值与拟合...
![数学建模精品教材第九章插值与拟合...](https://img.taocdn.com/s3/m/c6b3fc0bc4da50e2524de518964bcf84b9d52daa.png)
数学建模精品教材-第九章插值与拟合第九章插值与拟合插值:求过已知有限个数据点的近似函数。
拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。
插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。
而面对一个实际问题,究竟应该用插值还是拟合,有时容易确定,有时则并不明显。
§1 插值方法下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite 插值和三次样条插值。
1.1 拉格朗日多项式插值1.1.1 插值多项式用多项式作为研究插值的工具,称为代数插值。
其基本问题是:已知函数 f x 在区间[a,b]上n +1个不同点x ,x , L,x 处的函数值 y f x i 0,1, L,n,求一个0 1 n i i至多n次多项式nx a +a x + L +a x (1)n 0 1 n使其在给定点处与 f x同值,即满足插值条件 x f x y i 0,1, L,n(2) n i i ix称为插值多项式,x i 0,1, L,n称为插值节点,简称节点,[a,b]称为插值区n i间。
从几何上看,n次多项式插值就是过n +1个点 x , f x i 0,1, L,n,作一条i i多项式曲线 y x近似曲线 y f x。
nn次多项式(1)有n +1个待定系数,由插值条件(2)恰好给出n +1个方程2 na +a x +a x + L +a x y0 1 0 2 0 n 0 02 na +a x +a x + L +a x y0 1 1 2 1 n 1 1(3)L L L L L L L L L L L L2 na +a x +a x + L +a x y0 1 n 2 n n n n 记此方程组的系数矩阵为A,则2 n1 x x L x0 0 02 n1 x x L x1 1 1 detAL L L L L L L2 n1 x x L xn n n是范德蒙特Vandermonde行列式。
插值与拟合
![插值与拟合](https://img.taocdn.com/s3/m/8ada4901844769eae009ed12.png)
y2=interp1(x0,y0,x); y3=interp1(x0,y0,x,'spline'); pp1=csape(x0,y0); y4=ppval(pp1,x); pp2=csape(x0,y0,'second'); y5=ppval(pp2,x); fprintf('比较一下不同插值方法和边界条件的结果:\n') fprintf('x y1 y2 y3 y4 y5\n') xianshi=[x',y1',y2',y3',y4',y5']; fprintf('%f\t%f\t%f\t%f\t%f\t%f\n',xianshi') subplot(2,2,1), plot(x0,y0,'+',x,y1), title('Lagrange') subplot(2,2,2), plot(x0,y0,'+',x,y2), title('Piecewise linear') subplot(2,2,3), plot(x0,y0,'+',x,y3), title('Spline1') subplot(2,2,4), plot(x0,y0,'+',x,y4), title('Spline2') dyx0=ppval(fnder(pp1),x0(1)) %求x=0处的导数 ytemp=y3(131:151); index=find(ytemp==min(ytemp)); xymin=[x(130+index),ytemp(index)]
插值与拟合方法
![插值与拟合方法](https://img.taocdn.com/s3/m/3d9efd89cc22bcd126ff0c7f.png)
实际中数据处理的例子
测量细棒上若干个点处的温度(或房间 内若干个点处的温度、某区域若干个点 处的海水深度,汽车、飞机等的外形设 计,诸如此类的空间分布数据),试确 定细棒上各处的温度分布。当数据量较 少,且测量误差较小时,可用插值法; 当数据量很多,测量误差较大,或数据 中含较大的不确定性时,可用拟合法。 研究时间序列数据的变化趋势,常用拟 合法。
可选用的四种method
‘nearest’:表示最临近插值 ② ‘linear’:表示分片双线性插值 ③ ‘cubic’:表示分片双三次插值 ④ 'spline':表示双三次样条插值 注: interp2插值方法要求 x 和 y分别是单 调的插值节点,x 和 y 可以是不等距的.
①
第三章 数据拟合方法
仅简单介绍分段线性插值
分段线性插值问题
已知函数 f ( x) 在 n 1 个观测点 x0 x1 xn 上的函 i 数值 yi , 0,1, 2, , n.求函数 ( x),满足 ① 在每个小区间[ xi , xi 1 ] (i 0,1,, n 1) 上, ( x) 是线性 函数(次数不超过1次的多项式); i ② yi ( xi ) , 0, 1, 2, , n. ( x) 称为分段线性插值函数。 分段线性插值的构造 当 x [ x , x ] (i 0, 1, , n 1) 时,
数。易得
li ( x)
j 0 j i n
(x x j ) ( xi x j )
n
(i 0, 1, 2, , n)
即
n ( x) yi li ( x)
i 0
龙格(Runge)现象
插值与数据拟合建模
![插值与数据拟合建模](https://img.taocdn.com/s3/m/c4344e517dd184254b35eefdc8d376eeaeaa17d3.png)
因此,在时段[t,t+Δt],从B侧渗透至A侧的该物质的质量为:
于是有:
两边除以Δt,并令Δt→0取极限再稍加整理即得:
(1)
2) 注意到整个容器的溶液中含有该物质的质量不变,与初始时刻该物质的含量相同,因此
思考
最小二乘拟合函数 f(x,a1, …am)的选取
1. 通过机理分析建立数学模型来确定 f;
2. 将数据 (xi,yi) i=1, …n 作图,通过直观判断确定 f:
2. 作一般的最小二乘曲线拟合,可利用已有程序curvefit,其调用格式为: a=curvefit(‘f’, a0, x, y)
这本四位数学用表给出sin =0.576,sin =0.5783。小华认为在sin 到sin 这样小的范围内,正弦可以近似为线性函数,于是很容易地得到Sin =0.576+(0.5783-0.5760)×0.6=0.5774
聪明的小华用的这个办法是一种插值方法——分段线性插值。实际上,插值可以理解为,要根据一个用表格表示的函数,计算表中没有的函数值。 表中有的,如(sin ,0.5760)(sin ,0.5783)称为节点;要计算的,如sin ,称为插值点,结果(0.5774)即为插值。小华作的线性函数为插值函数,插值函数所表示的直线当然要通过节点。
1. 作多项式f(x)=a1xm+ …+amx+am+1函数拟合,可利用已有程序polyfit,其调用格式为:
a=polyfit(x,y,m)
用MATLAB作最小二乘拟合
注:f为拟合函数y=f(a,x)的函数M—文件,f(a,x)为拟合函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其中 x,y,z为插值节点,zi为被插值点(xi,yi)处的插值结果 且, xi, yi为被插值节点构成的新的网格数据
‘methods’代表的意思和可选择的插值方法和前面一样
注意:所有的插值方法都要求x和y是单调的网格,x和 y可以 是等距的也可以是不等距的
相当于在每一小段上应满足四个条件(方程),可以确 定四个待定参数.三次多项式正好有四个系数,所以可 以考虑用三次多项式函数作为插值函数,这就是分段三 次埃尔米特插值,它与分段线性插值一起都称为分段多 项式插值
(3)三次样条插值
2、曲线拟合的最小二乘法
给定平面上的点 (xi , y), i 1,2,, n,
函数等等)
f (x) c00 (x) c11 (x) cm m (x)
现在要确定系数 c0 , c1,, cm , 使 达到极小为此
三、插值的matlab实现
1、一维插值
MATLAB中的插值函数为interp1,其调用格式为
yi int erp1(x, y, xi,'method')
其中x,y为插值点,yi为在被插值点xi处的插值结果, x, y为向量。 注意:所有的插值方法都要求x是单调的,并且xi不 能够超过x的范围。
yi int erp1(x, y, xi,'method')
' method' 表示采用的插值方法
MATLAB提供的插值方法有几种
'linear' :分段线性插值 'cubic' ' pchip ' :三次Hermite插值(立方插值)
例2 气旋变化情况的可视化 下表是气象学家测量得到的气象资料,它们分别表示在南 半球地时按不同纬度。不同月份的平均气旋数字.根据这 些数据,绘制出气旋分布曲面图形
y=5:10:85;x=1:12; [x,y]=meshgrid(x,y); plot(x,y,'*'); pause z=[2.4,1.6,2.4,3.2,1.0,0.5,0.4,0.2,0.5,0.8,2.4,3.6;
' spline' :三次分段样条插值
'nearest ' :最近点等值方式
缺省时表示线性插值
例1 在一 天24小时内,从零点开始每间隔2小时测得的环 境温度数据分别为
12,9,9,1,0,18 ,24,28,27,25,20,18,15,13,
推测中午(即13点)时的温度.
x=0:2:24; y=[12 9 9 10 18 24 28 27 25 20 18 15 13]; x1=13 ; y1=interp1(x,y,x1,‘spline’)
2、浓度的变化规律 在化学反应中,为研究某化合物的浓度随时间的变化规律, 测得一组数据如表
表中的数据反映了浓度随时间变化的函数关系,它是一 种离散关系若需要推断20,40分钟时的浓度值,能否用 一个显函数y=f(t)来拟合表中的离散数据,然后再计算浓 度值f(20), f(40)?
问题分析 (1)首先将这些离散数据分布在直角坐标系下,由此可 发现浓度与时间之间呈现什么规律.这种数据分布在 直角坐标系下的图形被称为散点图;
(2)根据散点图,判段它接近于哪类函数曲线, 即确定函数形式
(3)函数形式确定以后,关键是要确定函数中含有的 待定参数。
最常用的确定待定系数的方法是,曲线拟合的最小二乘法
二、 插值与拟合
1、插值方法 (1)分段线性插值
分段线性插值的提法如下:
(2)分段三次埃尔米特插值 在插值问题中,如果除了插值节点的函数值给定外,还 要求在节点的导数值为给定值,即插值问题变为
18.7 21.4 16.2 9.2 2.8 1.7 1.4 2.4 5.8 9.2 10.3 16; 20.8 18.5 18.2 16.6 12.9 10.1 8.3 11.2 12.5 21.1 23.9 25.5; 22.1 20.1 20.5 25.1 29.2 32.6 33.0 31.0 28.6 32.0 28.1 25.6; 37.3 28.8 27.8 37.2 40.3 41.7 46.2 39.9 35.9 40.3 38.2 43.4; 48.2 36.6 35.5 40 37.6 35.4 35 34.7 35.7 39.5 40 41.9; 25.6 24.2 25.5 24.6 21.1 22.2 20.2 21.2 22.6 28.5 25.3 24.3; 5.3 5.3 5.4 4.9 4.9 7.1 5.3 7.3 7 8.6 6.3 6.6; 0.3,0,0,0.3,0,0,0.1,0.2,0.3,0,0.1,0.3]; figui,yi]=meshgrid(1:12,5:1:85); zi=interp2(x,y,z,xi,yi,'spline' ); figure mesh(xi,yi,zi) xlabel('月份'), ylabel('纬度'), zlabel('气旋'), axis([0 12 0 90 0 50]) title('南半球气旋可视化图形')
进行曲线拟合有多种方法,最小二乘法是解决曲线拟 合最常用的一种方法
最小二乘法的原理是求f(x),使
n
n
2 i
[ f (xi ) yi ]2
i 1
i 1
达到最小
简单地说,最小二乘法准则就是使所有散点到曲线的距 离平方和最小
线性最小二乘法
拟合函数可由一些简单的“基函数”(例如幂函数,三
角
0 (x),1 (x),, n (x) 来线性表示
插值则要求函数在每个观测点处一定要满足 yi f (xi )
插值函数一般是已知函数的线性组合或者称为加权平 均.插值在工程实践和科学实验中有着非常广泛而又十 分重要的应用,例如,信息技术中的图像重建、图像放 大中为避免图像的扭曲失真的插值补点、建筑工程的外 观设计。化学工程实验数据与模型的分析、天文观测数 据、地理信息数据的处理如(天气预报)以及社会经济 现象的统计分析等等.
引言
在工程实践和科学实验中,常常需要从一组实验观测数据
(xi , yi ), i 0,1,, n 揭示自变量x与因变量y之间的关系,
一般可以用一个近似的函数关系式y=f(x)来表示
通常可以采用两种方法:曲线拟合和插值
拟合主要是考虑到观测数据受随机误差的影响,寻求整体 误差最小、较好反映观测数据的近似函数,并不保证所得 到的函数一定满足 yi f (xi ) 曲线拟合的目的是根据实验获得的数据去建立因变量 与自变量之间有效的经验函数关系,为进一步的深入 研究提供线索
若要得到一天24小时的温度曲线
x=0:2:24; y=[12 9 9 10 18 24 28 27 25 20 18 15 13] xi=0:1/3600:24; yi=interp1(x,y,xi,’spline’ ); plot(x, y, ’o’, xi, yi)
2、高维插值 (1) 网格数据插值问题 N维插值函数interpN() 其中N可以为2,3,……,如N=2为二维插值,调用格式为
一、实例及其模型
1、船在该海域会搁浅吗
在某海域测得一些点(x,y)处的水深z(单位:英尺)由 下表给出,水深数据是在低潮时测得的.船的吃水深度 为5英尺,问在矩形区域(75,200)*(-50,150)里的哪些 地方船要避免进人.
分析
由于测量点是散乱分布的,先在平面上作出测量点的分 布图,再利用二维插值方法补充一些点的水深,然后作 出海底曲面图和等高线图,并求出水深小于5的海域范 围.