样条插值和曲线拟合
插值和拟合区别
>> [xx,res]=lsqcurvefit(f,[1,1,1,1,1],x,y); xx',res
Optimization terminated successfully: Relative function value changing by less than
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);
2*x0).*exp(-4*x0) x0.^2]; >> y1=A1*c; >> plot(x0,y1,x,y,'x')
例
• 数据分析
>> x=[1.1052,1.2214,1.3499,1.4918,1.6487,1.8221,2.0138,... 2.2255,2.4596,2.7183,3.6693];
0.1200 0.2130 0.5400 0.1700 1.2300 res = 9.5035e-021
• 绘制曲线: >> x1=0:0.01:10; y1=f(xx,x1); plot(x1,y1,x,y,'o')
MATLAB中的曲线拟合与插值
MATLAB 中的曲线拟合和插值在大量的使用领域中,人们经常面临用一个分析函数描述数据(通常是测量值)的任务。
对这个问题有两种方法。
在插值法里,数据假定是正确的,要求以某种方法描述数据点之间所发生的情况。
这种方法在下一节讨论。
这里讨论的方法是曲线拟合或回归。
人们设法找出某条光滑曲线,它最佳地拟合数据,但不必要经过任何数据点。
图11.1说明了这两种方法。
标有'o'的是数据点;连接数据点的实线描绘了线性内插,虚线是数据的最佳拟合。
11.1 曲线拟合曲线拟合涉及回答两个基本问题:最佳拟合意味着什么?应该用什么样的曲线?可用许多不同的方法定义最佳拟合,并存在无穷数目的曲线。
所以,从这里开始,我们走向何方?正如它证实的那样,当最佳拟合被解释为在数据点的最小误差平方和,且所用的曲线限定为多项式时,那么曲线拟合是相当简捷的。
数学上,称为多项式的最小二乘曲线拟合。
如果这种描述使你混淆,再研究图11.1。
虚线和标志的数据点之间的垂直距离是在该点的误差。
对各数据点距离求平方,并把平方距离全加起来,就是误差平方和。
这条虚线是使误差平方和尽可能小的曲线,即是最佳拟合。
最小二乘这个术语仅仅是使误差平方和最小00.20.40.60.81-2024681012xy =f (x )Second O rder C urv e Fitting图11.1 2阶曲线拟合在MATLAB 中,函数polyfit 求解最小二乘曲线拟合问题。
为了阐述这个函数的用法,让我们以上面图11.1中的数据开始。
» x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]; » y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];为了用polyfit ,我们必须给函数赋予上面的数据和我们希望最佳拟合数据的多项式的阶次或度。
如果我们选择n=1作为阶次,得到最简单的线性近似。
插值与拟合方法
插值与拟合方法在实际中,常常要处理由实验或测量所得到的一批离散数据.插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻找某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度.插值问题:要求这个近似函数(曲线或曲面)经过所已知的所有数据点.通常插值方法一般用于数据较少的情况.数据拟合:不要求近似函数通过所有数据点,而是要求它能较好地反映数据的整体变化趋势。
共同点:插值与拟合都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法,由于对近似要求的准则不同,因此二者在数学方法上有很大的差异.插值问题的一般提法:已知某函数)(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:第二段四次多项式拟合效果。
曲线拟合预测边界-概述说明以及解释
曲线拟合预测边界-概述说明以及解释1.引言1.1 概述概述曲线拟合是一种数学求解方法,旨在通过找到适当的曲线方程来拟合给定的数据点集合。
这种方法在数据分析和预测中得到广泛应用,可以帮助我们了解数据之间的关系,并根据已知数据进行未知数据的预测。
预测边界是指根据已有的数据,通过曲线拟合来预测未知数据的取值范围。
在许多实际问题中,我们常常需要预测未来趋势或者未知数据的取值,这时使用曲线拟合预测边界的方法可以给我们提供有用的参考。
本文将介绍曲线拟合的定义、方法以及预测边界的概念和应用。
在正文部分的2.1节中,我们将详细讨论曲线拟合的定义,它是指通过寻找一个适当的曲线方程来近似表示给定的数据集合。
我们将介绍一些常用的曲线拟合方法,如最小二乘法和多项式拟合方法等。
在2.2节中,我们将探讨预测边界的概念及其应用。
预测边界可以帮助我们对未知数据的取值范围进行预测,从而提供决策和分析的依据。
我们将通过实例来说明预测边界在不同领域中的应用,例如股票市场分析、天气预报和销售预测等。
总结起来,本文将介绍曲线拟合和预测边界的基本概念以及应用领域。
通过学习曲线拟合的方法和预测边界的应用,我们可以更好地理解数据之间的关系,并通过预测边界来预测未知数据的取值范围,从而提供参考和指导。
在结论部分,我们将总结本文的主要内容,并展望曲线拟合和预测边界在未来的研究和应用中的潜力。
文章结构部分的内容可以按照以下方式进行撰写:1.2 文章结构本文将按照以下结构组织和呈现相关内容:第一部分为引言部分,主要包括概述、文章结构和目的三个小节。
在概述部分,将对曲线拟合预测边界的主题进行简要介绍,引起读者的兴趣。
接着,在文章结构部分,将概述各个章节的内容安排和逻辑顺序,让读者对全文有一个整体的了解。
最后,明确阐明本文的目的,即通过研究曲线拟合预测边界的方法和应用,来探讨该领域的相关问题。
第二部分为正文部分,主要包括曲线拟合和预测边界两个章节。
在曲线拟合章节中,将对曲线拟合的定义进行介绍,概述其在实际问题中的应用场景。
数值计算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
薄板样条插值算法的原理
薄板样条插值算法的原理1.引言1.1 概述薄板样条插值算法是一种常见的数据插值方法,被广泛应用于计算机图形学、计算机辅助设计、数据处理等领域。
其原理是通过在给定的离散数据点之间生成连续的曲面或曲线,以实现数据的平滑插值。
薄板样条插值算法的特点在于能够灵活地适应各种数据类型和形状,具有较高的精度和稳定性。
它通过最小化插值函数的弯曲能量,以实现对数据的准确拟合。
相比于其他插值方法,薄板样条插值算法能够更好地平衡数据的光滑性和准确性,同时能够有效地处理不规则数据分布和噪声干扰。
在算法的实现过程中,薄板样条插值算法首先需要确定插值函数的控制参数,如边界条件、约束条件等。
然后,通过求解线性方程组或使用优化算法,确定插值函数的系数。
最后,根据插值函数的定义,即可计算得到插值点的数值。
薄板样条插值算法的应用领域广泛。
在计算机图形学中,它被用于曲线和曲面的重建、形变动画的插值等方面;在计算机辅助设计中,它可应用于曲线和曲面的建模、CAD软件的开发等方面;在数据处理中,它被用于数据的平滑处理、拟合曲线的生成等方面。
总之,薄板样条插值算法是一种简单而有效的数据插值方法,具有广泛的应用前景和重要的理论意义。
通过深入研究和进一步的发展,相信它将在更多领域中发挥其巨大的潜力。
1.2文章结构文章结构部分的内容可以包括以下信息:在本文中,将围绕薄板样条插值算法的原理展开讨论。
本文分为三个主要部分,如下所示:第一部分是引言部分。
在引言部分,将对薄板样条插值算法进行概述,介绍该算法的基本概念和原理。
同时,还将给出本文的目的,即探讨薄板样条插值算法在实际应用中的价值和意义。
第二部分是正文部分。
正文部分将重点介绍薄板样条插值算法的基本原理。
将详细解释该算法的工作原理、计算步骤和数学模型。
此外,还将探讨薄板样条插值算法在各个领域中的应用情况,包括工程领域、计算机图形学、地理信息系统等。
通过这些实际应用的案例,将展示薄板样条插值算法在实际问题中的有效性和优势。
第三章 样条插值和曲线拟合
第三章样条插值与曲线拟合学习目标:掌握分段线性插值、分段Hermite插值、样条插值方法以及贝齐尔曲线拟合曲线的方法。
重点是分段线性插值、分段Hermite插值、样条插值。
1901年龙格(Runge )给出一个例子: ,定义在区间[-1,1]上,这是一个很光滑的函数,它的任意阶导数都存在,对它在[-1,1]上作等距节点插值时,插值多项式的情况见图1§1 多项式插值的龙格现象22511)(xx f +=俄罗斯数学家伯恩斯坦(C.H.Bernstein )在1916年还给出如下定理。
定理1 函数 在[-1,1]上取n 个等距节点 ,构造n-1次插值多项式 ,当n 增大时,除了-1,0,1三点外,在[-1,1]中任何点处都不收敛于 。
x x f =)(1,11=-=n x x )(1x P n -x 上述介绍的现象和定理告诉我们用高次插值多项式是不妥当的,从数值计算上来看也是这样,前一章介绍过的差分的误差传播会随阶数的提高越来越严重,因此,实践上作插值时一般只用一次、二次,最多用三次插值多项式。
而提高插值精度的方法,可采用分段插值:譬如在[a,b]上定义的连续函数 ,在[a,b]上取节点构造一个分段一次多项式 ,即 在 上为由一次插值的余项知在 上,)(x f b x x x x a n n =<<<<=-121 )(x L )(x L ],[1+i i x x ii i i i i i i x x x x x f x x x x x f --+--++++1111)()())()(,,()()()(11++--=-=i i i i x x x x x x x f x L x f x R ],[1+i i x x 228)(h M x R ≤§2 样条插值定义1 对于[a ,b ]上给定的分划: ,若 满足: (1) 在 中为3次多项式;(2) 在(a,b)上的一阶、二阶导数都连续;则称为三次样条函数。
插值和拟合
插值和拟合都是函数逼近或者数值逼近的重要组成部分他们的共同点都是通过已知一些离散点集M上的约束,求取一个定义在连续集合S(M包含于S)的未知连续函数,从而达到获取整体规律的目的,即通过"窥几斑"来达到"知全豹"。
简单的讲,所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1, λ2,…,λ3), 使得该函数与已知点集的差别(最小二乘意义)最小。
如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。
表达式也可以是分段函数,这种情况下叫作样条拟合。
而插值是指已知某函数的在若干离散点上的函数值或者导数信息,通过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给定离散点上满足约束。
插值函数又叫作基函数,如果该基函数定义在整个定义域上,叫作全域基,否则叫作分域基。
如果约束条件中只有函数值的约束,叫作Lagrange插值,否则叫作Hermite插值。
从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点;而插值是找到一个(或几个分片光滑的)连续曲面来穿过这些点。
一、概念的引入1. 插值与拟合在现实生活中的应用l 机械制造:汽车外观设计l 采样数据的重新建构:电脑游戏中场景的显示,地质勘探,医学领域(CT)2.概念的定义l 插值:基于[a,b]区间上的n个互异点,给定函数f(x),寻找某个函数去逼近f(x)。
若要求φ(x)在xi处与f(xi)相等,这类的函数逼近问题称为插值问题,xi即是插值点l 逼近:当取值点过多时,构造通过所有点的难度非常大。
此时选择一个次数较低的函数最佳逼近这些点,一般采用最小二乘法l 光顾:曲线的拐点不能太多,条件:①二阶几何连续②不存在多余拐点③曲率变化较小l 拟合:曲线设计过程中用插值或通过逼近方法是生成的曲线光滑(切变量连续)光顾二、插值理论设函数y=f(x)在区间[a,b]上连续,在[a,b]上有互异点x0,x1,…,xn处取值y 0,y1,…,yn。
插值与拟合的实验报告心得
插值与拟合的实验报告心得1.引言1.1 概述插值与拟合是数值分析和数据处理领域中常见的重要技术方法,通过对已知数据点进行插值计算,得到未知点的数值估计。
插值方法可以帮助我们填补数据间的空缺、平滑曲线和预测未来趋势,因此在科学研究、工程建模和数据分析中具有广泛的应用价值。
本实验报告将对插值的基本概念进行介绍,探讨插值方法的分类和在实际应用中的意义。
同时,我们将总结实验结果,评述插值与拟合的优缺点,并提出对进一步研究的建议,希望通过本报告对插值与拟合的方法和应用有一个全面的了解。
1.2文章结构文章结构部分的内容可以包括:在本报告中,将包括以下几个部分的内容:1. 引言:介绍插值与拟合的基本概念,以及本实验的目的和意义。
2. 正文:包括插值的基本概念、插值方法的分类以及插值在实际应用中的意义。
我们将深入探讨这些内容,并解释它们在实验中的具体应用。
3. 结论:总结本次实验的结果,分析插值与拟合的优缺点,并提出对进一步研究的建议。
通过以上内容的分析和探讨,我们希望能够全面地了解插值与拟合的理论基础和实际应用,为进一步的研究和实践提供一定的参考和启发。
1.3 目的本实验的目的在于通过对插值和拟合的实验研究,探索和了解这两种数学方法在现实生活中的应用。
通过实验,我们将深入了解插值的基本概念和分类方法,以及插值在实际应用中的意义。
同时,我们还将对插值和拟合的优缺点进行分析,为进一步的研究提供建议和启示。
通过本实验,我们的目的是掌握插值与拟合方法的应用和特点,为实际问题的求解提供更多的数学工具和思路。
2.正文2.1 插值的基本概念插值是指通过已知数据点构建出一个函数,该函数经过这些数据点,并且在每个数据点上都有相应的函数值。
换句话说,插值是一种通过已知离散数据点来推断未知数据点的方法。
在数学上,插值可以用于近似未知函数的值,或者用于填补数据间的空隙。
在插值过程中,我们通常会选择一个合适的插值函数,比如多项式函数、三角函数或者样条函数等,来拟合已知的数据点。
插值法计算方法举例
插值法计算方法举例插值法是一种用来通过已知数据点的近似值来推测未知数据点的方法。
它通常用于数据的平滑和预测,尤其在缺少数据或数据不完整的情况下。
以下是一些插值法的具体计算方法举例:1. 线性插值法(Linear Interpolation):线性插值法是最简单的插值方法之一、假设我们有两个已知数据点(x1, y1)和(x2, y2),要推测处于两个数据点之间的未知点(x, y)。
线性插值法通过使用已知点之间的线性关系来计算未知点的值。
具体公式为:y=y1+(x-x1)*((y2-y1)/(x2-x1))2. 多项式插值法(Polynomial Interpolation):多项式插值法通过使用一个低次数的多项式函数来逼近已知数据点,并预测未知数据点。
常见的多项式插值方法包括拉格朗日插值和牛顿插值。
其中,拉格朗日插值使用一个n次多项式来逼近n个已知点,而牛顿插值使用差商(divided differences)和差商表来逼近已知点。
具体公式为:P(x) = a0 + a1 * (x - x1) + a2 * (x - x1) * (x - x2) + ... + an * (x - x1) * (x - x2) * ... * (x - xn-1)3. 样条插值法(Spline Interpolation):样条插值法是一种更复杂的插值方法,它通过拟合已知数据点之间的线段和曲线,来推测未知数据点。
常见的样条插值方法包括线性样条插值、二次样条插值和三次样条插值。
样条插值法具有良好的平滑性和曲线性质,通常在连续数据的插值和平滑方面效果更好。
具体公式为:S(x) = Si(x),其中x属于[xi, xi+1],Si(x)是第i段(i = 1, 2, ..., n-1)中的插值函数。
4. 逆距离加权插值法(Inverse Distance Weighting, IDW):逆距离加权插值法是一种基于距离的插值方法,通过使用已知数据点的权重来推测未知数据点。
三次样条插值和曲线拟合–LonelyNights
三次样条插值和曲线拟合–LonelyNights很多东西不在手上用着就容易忘,尤其是书本知识。
就弄这么个类别,叫作“书到用时方恨少”,来记录这些知识。
曲线拟合是一个“数值计算“中的一个基本内容。
在实际的项目中,使用拟合的目的就是从有限个点得到一条平滑曲线。
曲线本身也是由点构成的,所以如何从有限个点得到曲线上的其它点,就是插值所关注的内容。
插值的方法有很多,把这些个点逐个用直线段连起来也是一种插值。
样条插值是一种工业设计中常用的、得到平滑曲线的一种插值方法,三次样条又是其中用的较为广泛的一种。
Google 三次样条插值可以看得到不少材料,这里就不罗列公式了,直接看看在代码里,我们怎么做。
首先我们需要各个点的坐标,以x,y表示。
const int len =[_points count];float x[len];float y[len];for(int i =0; i < len; i++){CGPoint p =[[_points objectAtIndex:i] CGPointValue];x[i]= p.x;y[i]= p.y;}取变量x,y从算法中可以得知,我们的目标是样条插值函数,这是一个分段函数,x最高次数为三次,在各个点二次连续可导以保证最终函数曲线的光滑性。
我们每两个点求一个三次函数,我们有n个点,那么这里就需要4(n-1)个方程。
目前我们有n个点的坐标,有n-2个连接点,有n个函数两次连续可导,这里有n+n-2+2*(n-2)共4n-6个方程,还差两个条件。
这里一般有三种处理方法,最方便的,也是我们这里使用的是自然三次样条,也就是在首尾两个点上二次导为0。
具体计算不在此列举了,根据算法构建一个方程组求一组中间值sx,左边是一个三对角矩阵。
float h[len];float u[len];float lam[len];for(int i =0; i < len-1; i++){h[i]= x[i+1]- x[i];}u[0]=0;lam[0]=1;for(int i =1; i <(len -1); i++){u[i]= h[i-1]/(h[i]+ h[i-1]);lam[i]= h[i]/(h[i]+ h[i-1]);}float a[len];float b[len];float c[len];float m[len][len];for(int i =0; i < len; i++){for(int j =0; j < len; j++){m[i][j]=0;}if(i ==0){m[i][0]=2;m[i][1]=1;b[0]=2;c[0]=1;}else if(i ==(len -1)) {m[i][len -2]=1;m[i][len -1]=2;a[len-1]=1;b[len-1]=2;}else{m[i][i-1]= lam[i];m[i][i]=2;m[i][i+1]= u[i];a[i]= lam[i];b[i]=2;c[i]= u[i];}}求三对角矩阵,自下而上对角线上的参数是a,b,c当然需要得到方程组右边的值float g[len];g[0]=3*(y[1]- y[0])/h[0];g[len-1]=3*(y[len -1]- y[len -2])/h[len -2];for(int i =1; i < len -1; i++){g[i]=3*((lam[i]*(y[i]-y[i-1])/h[i-1])+u[i]*(y[i+1]-y[i])/h[i]);}下面就是求解这个方程组了,对于三对角矩阵,使用追赶法//< Solve the Equationsfloat p[len];float q[len];p[0]= b[0];for(int i =0; i < len -1; i++){q[i]= c[i]/p[i];}for(int i =1; i < len; i++){p[i]= b[i]- a[i]*q[i-1];}float su[len];float sq[len];float sx[len];su[0]= c[0]/b[0];sq[0]= g[0]/b[0];for(int i =1; i < len -1; i++){su[i]= c[i]/(b[i]- su[i-1]*a[i]);}for(int i =1; i < len; i++){sq[i]=(g[i]- sq[i-1]*a[i])/(b[i]- su[i-1]*a[i]);}sx[len-1]= sq[len-1];for(int i = len -2; i >=0; i--){sx[i]= sq[i]- su[i]*sx[i+1];}求得了参数,现在就得到分段插值函数了。
数值分析拟合实验报告(3篇)
第1篇一、实验目的本次实验旨在通过数值分析方法对一组已知数据点进行拟合,掌握线性插值、多项式插值、样条插值等方法的基本原理和实现过程,并学会使用MATLAB进行数值拟合。
二、实验内容1. 线性插值线性插值是一种简单的插值方法,适用于数据点分布较为均匀的情况。
其基本原理是通过两个相邻的数据点,利用线性关系拟合出一条直线,然后通过该直线来估算未知的值。
2. 多项式插值多项式插值是一种较为精确的插值方法,通过构造一个多项式函数来逼近已知数据点。
其基本原理是利用最小二乘法求解多项式的系数,使得多项式在已知数据点上的误差最小。
3. 样条插值样条插值是一种更灵活的插值方法,通过构造一系列样条曲线来逼近已知数据点。
其基本原理是利用最小二乘法求解样条曲线的系数,使得样条曲线在已知数据点上的误差最小。
三、实验步骤1. 线性插值(1)在MATLAB中输入已知数据点,如:x = [1, 2, 3, 4, 5];y = [2, 4, 6, 8, 10];(2)使用MATLAB内置函数`linspace`生成插值点:xi = linspace(1, 5, 100);(3)使用MATLAB内置函数`interp1`进行线性插值:yi = interp1(x, y, xi, 'linear');(4)绘制插值曲线:plot(xi, yi, 'b-', x, y, 'ro');2. 多项式插值(1)在MATLAB中输入已知数据点,如:x = [1, 2, 3, 4, 5];y = [2, 4, 6, 8, 10];(2)使用MATLAB内置函数`polyfit`求解多项式系数:p = polyfit(x, y, 3);(3)使用MATLAB内置函数`polyval`进行多项式插值:yi = polyval(p, xi);(4)绘制插值曲线:plot(xi, yi, 'b-', x, y, 'ro');3. 样条插值(1)在MATLAB中输入已知数据点,如:x = [1, 2, 3, 4, 5];y = [2, 4, 6, 8, 10];(2)使用MATLAB内置函数`spline`进行样条插值:yi = spline(x, y, xi);(3)绘制插值曲线:plot(xi, yi, 'b-', x, y, 'ro');四、实验结果与分析1. 线性插值线性插值方法简单易行,但精度较低,适用于数据点分布较为均匀的情况。
origin拟合不规则曲线-概述说明以及解释
origin拟合不规则曲线-概述说明以及解释1.引言1.1 概述概述部分将对本文的主题进行简要介绍,即使用Origin软件拟合不规则曲线的方法和目的。
本文旨在通过对原始数据的分析和拟合方法的介绍,探讨如何利用Origin软件来有效地拟合不规则曲线。
如今,曲线拟合在众多领域中都被广泛应用,例如工程、科学研究和数据分析等领域。
借助拟合技术,我们可以从大量的实验数据中提取出规律性的模式和趋势,从而为进一步的研究和应用提供有价值的信息。
在本文中,我们将首先对原始数据进行分析,确定需要拟合的不规则曲线的特征和趋势。
通过观察数据的分布情况、峰值位置以及曲线的整体形态,我们可以初步判断所需的拟合方法和拟合模型。
接下来,我们将详细介绍Origin软件中常用的拟合方法,如多项式拟合、非线性拟合和曲线拟合等。
同时,我们将说明每种拟合方法的适用范围和使用步骤,并举例说明如何在Origin软件中进行曲线拟合操作。
通过本文的研究和分析,读者将能够了解利用Origin软件拟合不规则曲线的基本原理和方法,并能够根据具体的实验数据选择合适的拟合方法,从而得到更准确和可靠的拟合结果。
此外,本文还会对拟合结果进行总结分析,并展望未来在曲线拟合领域的发展方向。
在现实生活和科学研究中,诸如物理现象、经济趋势以及生物特征等都可以通过拟合方法进行研究和分析。
通过本文的深入探讨,读者将能够更好地理解并应用拟合方法,为解决实际问题和开展科学研究提供有益的指导和方法。
最后,本文也希望能够唤起读者对曲线拟合领域的兴趣,促进该领域的进一步发展和创新。
1.2 文章结构文章结构文章将分为三个主要部分:引言、正文和结论。
2.1 引言在引言部分,我们将概述本文的主要内容和目的。
首先,我们将介绍拟合不规则曲线的背景和重要性。
其次,我们将明确本文的结构和组织方式,以帮助读者更好地理解和跟随文章的内容。
最后,我们将明确本文的目的,即通过使用origin软件来拟合不规则曲线,以展示origin的功能和优势。
三次样条插值与多项式拟合的关系
三次样条插值与多项式拟合的关系1. 介绍在数学和计算机科学领域里,三次样条插值和多项式拟合都是常用的数据拟合方法。
它们都可以根据一系列的数据点来估计出一个函数,并在一定程度上能够描述数据的特征和趋势。
在本文中,我们将探讨三次样条插值和多项式拟合之间的关系,以及它们各自的优缺点。
2. 三次样条插值的基本概念三次样条插值是一种通过在相邻的数据点之间使用三次多项式来逼近数据的方法。
其基本思想是在相邻两个数据点之间构造一个三次多项式,并要求这些三次多项式在相邻数据点处拥有相同的函数值和导数值。
这样可以保证拟合的曲线在每个数据点处都能够平滑地连接,并且能够较好地反映数据的特征。
3. 多项式拟合的基本概念多项式拟合是一种通过使用一个多项式函数来逼近数据的方法。
其基本思想是找到一个多项式函数,使得它在给定的数据点处能够最好地拟合已有的数据。
通常情况下,我们会选择低阶的多项式函数,如线性函数或二次函数,以避免过拟合的问题。
4. 三次样条插值与多项式拟合的关系从数学原理上来讲,三次样条插值其实也可以看作是一种多项式拟合的方法。
因为在每个相邻的数据点之间,我们都使用了一个三次多项式来逼近数据。
所以可以说,三次样条插值是一种局部的多项式拟合方法。
5. 优缺点比较在实际应用中,三次样条插值和多项式拟合各有其优缺点。
三次样条插值能够保证拟合曲线在每个数据点处的平滑连接,能够比较好地反映数据的特征。
然而,它在整体拟合的时候可能会出现振荡的问题,特别是在数据点比较稀疏的情况下。
而多项式拟合则可以灵活地通过选择不同阶数的多项式来逼近数据,能够较好地拟合整体趋势。
但是,它容易出现过拟合的问题,特别是在数据点较多的情况下。
6. 个人观点和理解在我看来,三次样条插值和多项式拟合都是非常有用的数据拟合方法。
在实际应用中,我们可以根据具体的数据特点和需求来选择合适的方法。
如果需要保证拟合曲线在每个数据点处平滑连接,同时又能较好地反映整体趋势,可以选择三次样条插值。
内插与拟合方法初探
内插与拟合方法初探在数学和统计学领域,内插和拟合方法是两种常用的数值分析技术,用于预测和估计未知数据点的数值。
本文将对内插和拟合方法进行初步探讨,介绍它们的原理、应用以及优缺点。
一、内插方法内插方法是通过已知数据点之间的关系,预测出未知数据点的数值。
其基本原理是假设已知数据点之间存在某种规律,通过该规律确定未知数据点的数值。
以下是常用的几种内插方法:1. 线性插值:线性插值方法假设已知数据点之间的关系是直线,根据直线方程求解出未知数据点的数值。
线性插值方法简单快捷,适用于数据变化较为平缓的情况。
2. 拉格朗日插值:拉格朗日插值方法通过构建一个n次多项式,使得该多项式经过已知数据点,从而求解出未知数据点的数值。
拉格朗日插值方法适用于各种数据分布情况,但随着数据点数量的增加,计算复杂度也会增加。
3. 样条插值:样条插值方法将整个数据集分成若干小段,每一小段都用一个低次多项式拟合,从而得到整个数据集的近似曲线。
样条插值方法适用于数据变化较为复杂的情况,能够准确地拟合数据。
二、拟合方法拟合方法是通过已知数据点之间的关系,选择适当的拟合函数,使得函数与已知数据点的误差最小化,从而求解出未知数据点的数值。
以下是常用的几种拟合方法:1. 最小二乘法:最小二乘法是一种常用的拟合方法,通过最小化拟合函数与已知数据点的残差平方和,找到最优的拟合函数。
最小二乘法适用于各种类型的数据集,但需要注意过拟合和欠拟合的问题。
2. 多项式拟合:多项式拟合方法通过选择适当的多项式函数,使其与已知数据点最为吻合。
多项式拟合方法简单直观,但随着多项式次数的增加,容易发生过拟合现象。
3. 指数拟合:指数拟合方法通过选择适当的指数函数,使其与已知数据点拟合良好。
指数拟合方法适用于具有指数增长或衰减特征的数据集,能够较好地预测未知数据点。
总结:内插方法通过已知的数据点之间的关系,预测出未知数据点的数值,适用于预测和填补数据的空缺。
拟合方法通过选择适当的拟合函数,使其与已知数据点最为接近,适用于建立数据集的模型和预测未知数据。
样条曲线拟合
样条曲线拟合
样条曲线拟合是一种常用的数据拟合方法。
它通过在数据点之间插值出一条光滑的曲线来拟合数据,使得曲线能够尽可能地接近原始数据,并具有较好的拟合效果。
样条曲线拟合可以用于各种领域,如统计学、计算机科学、工程学等,常用于数据分析、模型预测、图像处理等方面。
其优点在于能够很好地抵抗噪声干扰,并且具有较高的精度和稳定性。
在实际应用中,我们需要选择合适的插值方法和拟合算法,以达到最优的拟合效果。
常用的样条曲线拟合方法包括线性样条曲线、三次样条曲线、B样条曲线等。
在拟合过程中,还需要选择合适的样条节点和节点间距离,以确保曲线的光滑性和精度。
总之,样条曲线拟合是一种非常有用的数据拟合方法,可以帮助我们更好地理解和处理数据。
- 1 -。
拟合不规则曲线 matlab
拟合不规则曲线 matlab
在Matlab中拟合不规则曲线通常涉及到使用多项式拟合、样条插值或者非参数拟合等方法。
下面我会从这几个角度来解释如何在Matlab中拟合不规则曲线。
首先,多项式拟合是一种常见的方法,可以通过polyfit函数来实现。
这个函数可以拟合出一个多项式,使其最小化与原始数据的残差。
你需要提供拟合的阶数,然后使用polyval函数来计算拟合曲线的值。
其次,样条插值是另一种常见的方法,可以使用interp1或者spline函数来实现。
interp1函数可以进行一维插值,而spline函数可以进行样条插值,生成平滑的曲线。
这些函数可以根据给定的数据点,生成一个平滑的曲线。
最后,非参数拟合是一种不依赖于参数模型的拟合方法,可以使用ksr函数来实现。
这个函数可以进行核密度估计,生成一个平滑的曲线来拟合原始数据。
总的来说,在Matlab中拟合不规则曲线可以通过多项式拟合、
样条插值或者非参数拟合来实现。
你需要根据你的数据特点和需求选择合适的方法来进行拟合。
希望这些信息能够帮助到你。
关于AKISPL和CURVE的用法
样条差值函数Akima Fitting Method(AKISPL)定义:由曲线或者曲面返回曲线的导数或者曲线的拟合值。
通过Akima样条曲线拟合方法,使用一系列离散点来拟合曲线。
格式:AKISPL(第一独立变量,第二独立变量,样条函数名,求导阶数)自变量:第一独立变量(必须)--代表样条中第一独立变量的实数变量。
第二独立变量(必须)-- 代表样条中第二独立变量的实数变量。
样条函数名字(必须)—已存在的数据样条实体的名字,定义了用作拟合的一系列离散点。
求导阶树(可选)—在求离散点时用作求导的阶树。
其合法值为:*0—返回曲线坐标值。
*1—返回一阶导数值。
*2—返回二阶导数值。
注意:当拟合曲面时,不必指明Derivative Order(求导阶数)。
例子:某样条曲线,spline_1,其定义的离散点如下表所示。
使用Akima样条拟合方法将这些离散点生成拟合函数。
既然样条曲线定义的是曲线而不是曲面, 因此, 将Second Independent Variable(第二独立变量)设置为零。
在下列例子中,给出了独立变量的值和数据,AKISPL返回拟合值:f = AKISPL(DX(marker_1, marker_2, marker_2), 0, spline_1)由以上拟合点生成的样条曲线如下图所示:CURVE定义:CURVE 函数定义了一条B 样条曲线或者以CURVE 声明创建的用户自定义曲线。
格式: CURVE (alpha, iord, comp, id)自变量:alpha —确定独立变量α的值的实变量,其中CURVE 函数计算曲线。
如果曲线是以CURVE 计算的B 样条曲线, α的取值范围为11-≤≤α。
如果曲线是通过CURSUB 计算得出,alpha 的去值范围为MAXPAR MINPAR ≤≤α。
Iord —定义CURVE 函数中求导阶树的整数值。
其合法值为*0—返回曲线坐标。
*1—返回一阶偏导。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 样条插值和曲线拟合1.x y =有如下的函数表8。
解 先作差商表4167121013934201511008160124601316111100-⨯---故:8.2)48(512)8(1=-+=p819047619.2)98)(48(2101)48(512)8(2=----+=p844444.2)98)(48)(18(34201)48)(18(601)18(311)8(3=---⨯+----+=p6222.2)1(47810081478601)18(861)08(10)8(4=-⨯⨯⨯-⨯⨯+---⨯+=p 已知828427.28=,因此选定)8(,16,9,42321p x x x ===最接近8。
利用Neville 方法得:xi8-xif(xi)2.82842718 0817 1-1.333333333.3333333 2.4 44 22.866666667 2.62222222.8 2.8444444 9-132.8190476192.8571429 16 -84f(8)= 2.828427125 xi8-xif(xi)8 0817 1-1 1/33 1/3 2 2/5 44 22 13/15 2 28/452 4/5 2 38/45 9-132 86/1052 6/7 16 -8 4已知 828427.28=,故选定)8(,16,9,42321p x x x ====2.819047619最接近8.11101201011121213434342121------ 所以:)())(1())(1()1(1)(21213421344-++-++++-=x x x x x x x x x p ,故:21214)(=p 。
(2)若采用分段插值,则在],0[21上,x x f x f x L =--+--=00)(0)0()(121121,所以: )()()(214212121p f L ===,结果一样。
3.解 (1)若记L (x )为tgx 在[]44,ππ-上的分段线性插值函数,则 ],[,8)()(122+∈≤-=i i x x x h M x L tgx x R 其中[]4max 44,2=''=-∈x g t M x ππ,欲使422210218)()(-<≤≤-=h h M x L tgx x R ,故 014142.01022=⨯<-h(2)如果采用分段二次插值,若)(2x L 为tgx 在[]44,ππ-上的分段二次插值函数,则 ],[,31216))()((!3)()()(1331212+++∈≤---'''≤-=i i i i i x x x h M x x x x x x f x L tgx x R ξ其中[]16max ,3='''=-∈x g t M x ππ,欲使432103121616)()(-<≤-=h x L tgx x R ,应使:解:若对在44ππ中用等距分段Hermite 3次插值,则在每个小区间1+i i 上,由第二章定理8知:1212)4(3,)()(!4)()(++≤≤--=-i i i i x x x x x x f x H tgx ξξ由于xx x x x tg 533)4(cos sin 24cos sin 16)(+=,所以在[]44,ππ-上, 802112421116)()4(=+=≤x tg442123245161!480)()(max !480)(1h h x x x x x H tgx i i x x x i i =⨯≤--≤-+≤≤+注意右端与i 无关,故在[]44,ππ-上,有:435)(h x H tgx ≤-。
解:因为010sin cos sin )(x txtxdt x x x f ===⎰,所以 ⎰⎪⎭⎫ ⎝⎛+==10)(2cos sin )(dt k tx t x x dx d x f k k k k π,因此11)(10)(+=≤⎰k dt t x f kk 。
(1) 若在区间[]1,0上用等距线性插值,则误差为:]1,0[,2418)()(222∈≤=-x h h M x L x f 对任欲使410)()(-≤-x L x f ,只须 048988979.010244=⨯<-h 。
(2) 若在区间[]1,0上用等距Hermite 3次插值,则误差为:]1,0[,165!41)()(!4)()()(4212)4(3∈⋅⨯≤--≤-+x h x x x x f x H x f i i 对任ξ欲使4310)()(-≤-x H x f ,只须 66195.0)10165!4(414=⨯⨯⨯<-h (3) 若在区间[]1,0上用等距样条插值,则由定理5,有:4)4(451161)(161)()(h x f h x s x f ⋅⋅≤≤-∞欲使410)()(-≤-x s x f ,只须 299069756.0)10165(14=⨯⨯<-h 。
6. 对sin x /x , 在[0,1]上取5个节点,求D 13次样条。
解 因2sin cos )(x x x x x f -=',所以:02sin )0(0=-='=x xf ,-0.30117)1(='f , 先作差商表1 0-0.16615 0 1-0.04154 -0.16304 0.25 0.989616 -0.12306-0.15388 0.5 0.958851 -0.2 -0.13905 0.75 0.908852 -0.26952 -0.12658 1 0.841471 -0.30117 1 0.841471从而形成三弯距方程组的增广矩阵:2 1 0 0 0 -0.99688 0.5 2 0.5 0 0 -0.97827 0 0.5 2 0.5 0 -0.92326 0 0 0.5 2 0.5 -0.8343 012-0.7595解得:M 1=-0.33438,M 2=-0.32813,M 3=-0.30966,M 4=-0.27977,M 5=-0.23987。
样条曲线为:7. 对f(x)=|x|,在[-1,1]上取5个等距节点,求3次自然样条插值。
解先作差商表-1 1 -1 0-0.5 0.5 -1 20 0 1 00.5 0.5 11 1从而形成三弯距方程组的增广矩阵:2 0.5 0 00.5 2 0.5 120 0.5 2 0解得:M1=-0(已知),M2= -1.71429=-12/7,M3= 6.857143=48/7,M4= -1.71429=-12/7,M5=-0(已知)。
样条曲线为:8. 对f(x)=|x|,在[-1,1]上取6个等距节点,求3次周期样条插值函数。
解先作差商表-1 1 -1 0-0.6 0.6 -1 1.25 -0.2 0.2 0 1.25 0.2 0.2 1 0 0.6 0.6 1 -2.5 1 1 -1 1.40.6注意:)()(21x f x f n =+,4.14.01121=+=-+=+x x x x n n ,从而形成三弯距方程组的增广矩阵:2 0.5 0 0 0.5 0 0.5 2 0.5 0 0 7.5 0 0.5 2 0.5 0 7.5 0 0 0.5 2 0.5 0 0.50.52-15解得:M 1=M 6= -8.18182,M 2= 1.363636,M 3= 2.727273,M 4= 2.727273,M 5= 1.363636。
样条曲线为:解:取节点521432121,作差商表: 11101201011121212121---- 对于自然样条,051==M M ,按公式(10)形成方程组:⎪⎩⎪⎨⎧==+==++==+0),,(6212),,(620),,(62543432143242132213213212x x x f M M x x x f M M M x x x f M M 解得:12,48,12432-==-=M M M 。
由(9)式即得样条函数的表达式(略)。
()Tn M M M X ,,,21* =,且令i ni i M M ≤≤=1max 0,则0i M ≠0,考察AX *=0的第i 0个方程:∑≠=-=n i j j j j i i i i M a M a 000001,,,有∑∑≠=≠=≤≤ni j j j i ni j j i j jii i a M M a a 0000001,1,,。
这与矩阵A 为严格对角占解:由于在1+i i 上是3次多项式,故在1+i i 上是1次多项式,而且满足111)(,)(+++''==''''==''i i i i i i y M x s y M x s ,因此可表示为iii i i i h x x M h x x M x s -+-=''++11)(于是积分两次并利用11)(,)(++==i i i i y x s y x s (1,+i i y y 为未知量)可定出积分常数:i ii i i i i i i i i i i i i i h x x h M y h x x h M y h x x M h x x M x s -⎪⎪⎭⎫ ⎝⎛-+-⎪⎪⎭⎫ ⎝⎛-+-+-=+++++666)(6)()(211123131 事实上,积分两次后,记iiii i i i i i i i i h x x d h x x c h x x M h x x M x s -+-+-+-=+++131316)(6)()(,再由11)(,)(++==i i i i y x s y x s 可定出i i d c ,。
于是:662)(2)()(112121i i i i i i i i i i i i i i hM h y h M h y h x x M h x x M x s ++++-++--+--='即:)(62)(),(62)(111111++++++-+-+='-+-+-='i i ii i i i i i i i i i i i i i i M M h h y y h M x s M M h h y y h M x s 若考虑在],[1i i x x -上,有),(62)(11111i i i i i i i i i M M h h y y h M x s -+-+='-----两边的)(i x s '应相等,即:)(62)(621111111++------+-+-=-+-+i i ii i i i i i i i i i i i i M M h h y y h M M M h h y y h M ,整理并记111,---+=+=i i i i i i i i h h h h h h λμ1,,3,2-=n i ,得: 1,,3,2),()(631111111111-=+---=-+---+-+--+-n i h M h M x x h h h h M y y y i i i i i i i i i i i i i i i i λμ若给定边界条件)(),(11n n x f y x f y ==,则形成方程组:⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧++---=+--=+---=-+-++---=----------------+-+--+-nn n n n n n n n n n n n n n n i i i i i ii ii i i i i i i yh M h M x x h h h h M y y n i h M h M x x h h h h M y y y y h M h M x x h h h h M y y i 11222212111211111111111211231321212322)()(6312,,3),()(631)()(631λμλμμλ(1) 通过型值点:11++i i i i ,共有)1(2-n 个方程; (2) )(x s 的一阶导数连续,即1,,3,2),()(1-='='-n i x s x s i i i i 共有2-n 个方程。