三次样条拟合范例
用三次样条函数拟合模具型腔廓线

( ≤暂+, J , , ,一1 暂≤ I =12 …,l ) 其 中 劬 , , 西为待定 系数 。 %
() 1
线的数据 ,然后根据所测数据利用数控机床进行加工 。这种制 1 2 , , . 造方法存 在两个 问题 ,一是 使用 过 的原 型腔表 面有一定 的磨 1 2 1确 定 % ..
Байду номын сангаас
固 用次侯丁合具腔 曾郑清毅科。1 珊梅源拟模咸2 三样函(大阳1 琪 条数西学7 陕 型廓 技 0 8 ) 线
Di a i u l e f t u i s l e f n t n e c vt o tn iwi c bc pi u ci y i t h n o
Z N hn—q 。 H N Ii HO ig u n D N i E GS a i Z E G le。 U Qn —y a , I G Y  ̄ (h a x U i r t o c ne&T c nlg , in ag7 2 8 , hn ) S a n i nv s y f i c e i S e eh o y X a yn 10 1C ia o
因之 一 。
西 =一2 ,+ 一, /^, +(』 +) + (,- , 3+1 6+ -/^,・ ) ( =12 … ,l ) J , , ,一1
() 3
三次样条函数属于 高次分段 多项式 ,整体具有一定的连续 性 。它是一般多项 式的推广 ,也可以看成是阶梯函数的若干次
西的确 定
损, 使测得的廓线数据 有误 差。同时 , 量中还会 产生一定 的测 测 量误差 ,在加工过程中难以得到精确的修正 ;二 是无法从离散 点组成的曲线分析 出它 的成形规律 。因此 ,制造 出的型腔与原
三次样条函数

yi ' = a1 + a 2 (2 xi − xi +1 ) + a3 3 xi − 2( xi +1 + xi )xi + xi xi +1
]
2
i +1
1
2
i +1
3
i +1
i
i +1
其中:
y − yi y − y i −1 + arctg i arctg i +1 xi +1 − xi xi − xi −1 yi ' = tg 2
y1 − y 0 x1 − x 0 x1 − x0
(
)
y1 '− a 2 + a 3 x1 =
(0.6)
由(0.4)
2a 2 + a 3 (4 x0 − 2 x1 ) = 0
(0.7)
(0.6)-(0.7)
a 3 x1 − a 3 (2 x0 − x1 ) = y1 '− y1 '− y1 − y 0 x1 − x0 x1 − x0
3
2 n−2
− x n−1 x n − 2
)
)(2.3)
y n −1 " = 2a 2 + a3 (6 x n −1 − 2( x n − 2 + x n −1 )) = 2a 2 + 2a3 (2 x n −1 − x n− 2 ) (2.2) –(2.1)
(2.4)
y n −1 − y n − 2 = a1 ( x n −1 − x n− 2 ) + a 2 ( x n −1 − x n − 2 )x n − 2 = ( xi +1 − xi )(a1 + a 2 xi )
三次样条插值与多项式拟合的关系

三次样条插值与多项式拟合的关系《三次样条插值与多项式拟合的关系》一、简介在数学建模和数据分析中,插值和拟合是非常重要的方法。
三次样条插值和多项式拟合是其中常见且有效的技术。
它们之间有着密切的关系,对于理解它们的原理、特点和应用是很有帮助的。
二、三次样条插值的原理与方法三次样条插值是一种通过对给定的一组点进行插值,得到一个分段三次插值多项式的方法。
它的原理是将整个插值区间划分为多个小区间,每个小区间内都使用一个三次多项式来插值。
这样可以保证整个插值曲线在每个小区间内都是光滑的,并且两个相邻的插值多项式在连接点处有相同的函数值和导数值。
三次样条插值不仅可以实现较高的插值精度,还可以很好地避免龙格现象和振荡问题。
三、多项式拟合的原理与方法多项式拟合是一种通过多项式来逼近已知数据点的方法。
常见的拟合方法包括最小二乘法和最小二乘多项式拟合等。
多项式拟合的原理是使用一个n次多项式函数来逼近n个数据点,使得这个多项式函数在这n个数据点处的函数值与给定数据点的函数值尽可能接近,并且可以用于对其他数据点的预测。
四、三次样条插值与多项式拟合的关系在实际应用中,三次样条插值和多项式拟合有着密切的关系。
可以将三次样条插值看作是一种特殊的分段多项式拟合,只不过它要求在每个小区间上都使用三次多项式来进行拟合。
多项式拟合可以被认为是三次样条插值的一种特殊情况,当插值区间只有一个小区间时,三次样条插值就变成了普通的三次多项式拟合。
可以说三次样条插值和多项式拟合是在不同层次上对数据进行逼近的方法,它们之间有着内在的联系和相互影响。
五、个人观点和理解在实际工程和科学领域中,三次样条插值和多项式拟合都有着广泛的应用。
对于一些特定的数据集,三次样条插值可以提供更加精确和光滑的插值结果,而对于一些简单的数据集,多项式拟合可能会更加高效和简便。
了解它们之间的关系和特点,可以帮助我们在实际应用中选择合适的技术来处理数据,并且更好地理解其原理和局限性。
三种曲线拟合方法的精度分析

三种曲线拟合方法的精度分析L,曲线拟合是皂丝圈宁的曲线光滑方法它根据给定的离散点?建立一个适当的解析式,使所表示的连续曲线反映和逼近已知点构成的特征多边形.地形图上的曲线具有多种类型.例如境界,道路,等高线和水网线等.这些曲线图形多数是多值函数,呈现出大挠度,连续拐弯的图形特征.在传统的测绘工作中,各种曲线是根据实测点位由人工联接勾绘而成.随着测绘自动化及数字化技术的不断发展,野外地面测量仪器中的经纬仪.已被全站仪逐渐取代.而在平板仪上进行的地形图清绘整饰工作,则可在微机上借助交互式图形技术完成.这一进步不仅可增加工作效率,缩短生产周期,减低劳动强度,也提高了图形质量.野外实测数据确定的特征多边形,需在计算机图形编辑中采用一定的曲线线跫对其作曲线拟合.本文对三种曲线拟台线型——圆曲线,二次B样条曲线,三次B样条曲线的理论拟台精度展开讨论.并在实验中得到验证.l三种曲线拟合方法1.1圆曲线平面上三点;(?,y1),B(?.),(南,ya)}其圆弧方程++/)X+Ey+F=0.过上述三点作圆弧(图1).当I丑yl1f?的顶点.二次B样条的一阶导数为:小l.B.且Bo?t?l0?t?1其端点性质如下:P(o)一?(Bo4-且)}P(1)=告(B】+岛);(0)一BI一&}(1)=岛一B}P(专)吉&+}且+吉岛=1{吉[P(o)+P(1)]+蜀};(音)一{(岛一Bo)一P(1),P(0)以上性质说明二次B样条曲线的起点P(0)在B特征多边形第一边的中点处,且其切向量且一&即为第一边的走向;终点P(1)在第二边的中点处,且其切向量B:一B为第二边的走向.而且P(1/Z)正是凸P(O)昌P(1)的中线B,M的中点,在P(1/2)处的切线平行于P(O)P(1)(图2).图2二次B样条拟台特征多边形上海蚨道大学第17告1.3三次B样条曲线三次B样条的分段函数式为..c一霎c一-,d一c+一一,,c一=s,z=.,,z,s 三次B样条曲线的矩阵为:3P()=?.3(f)BL=J一口其一阶导数为:[产1]?百1?(t)一[产t1]?告?一l3—3l3—630,30301410一l3—3l2—42O一10l0昂目岛鼠鼠且岛且0?t?10?t?l三次B样条曲线的端点性质如下:P(0)=音(岛+4且+岛)一{(堡{)+号且}P(1)=吉(且+4B+鼠)={(鱼{)+导局;(0)一百1(岛一Bo);(1):I(B一Bi)以上性质说明:三次B样条曲线起点P(0)落在反目B的中线/3.研上距/3的三分之一处,该点的切向量(0)平行于厶‰矗岛的底边/3.Bz,长度为其一半;终点P(1)处的情况与此相对应(见图3).if一}图3三次B拌条拟合特征多边形2三种拟合曲线的比较2+l圆曲线与二次B样条曲线的比较取平面上三点/3-,马…/3井分两种情况进行比较一一一第3期许恺.三神曲拽拟音方法的情虚分析(1)当瓦=瓦瓦时(见图4),过岛,B,岛作圆曲线岛Q最岛,其与特征多边形有两处偏离值最大,即QR与c,,且QR=UV.而二次B样条曲线RTU与特征多边形有一处偏离值最大,即B?则.0??,,7j,一—,/I//,?L—r/.s图4圈曲线与二趺B样条比较(1)QR=s蜀T={(2r?si譬)式中,为圆弧半径l0为弦届置所对圆心角l2,6为弦BoBz所对圆心角.由此即可知.器=>1(>0)(2)鼠晶?蜀岛时,随着岛蜀与蜀岛的差值加大,QR也加大,而B,T值是一定值(见图5).由此可得出二次B样条曲线拟合优于圆曲线拟合的结论.j,一0/..7.一\,}l一?I1形图等高线上选定点位组成特征多边形.分别用圆曲线,二次B样条曲线,三次B样条曲线对等高线特征多边形进行曲线拟合,测出拟合曲线与特征多边形的偏离值.共50个观测值,对测中误差为0.05rnm,取偏离值的平均值列于附表.附裹兰莫拟台曲线平均偏差比较裹哪由上分析可得出如下结论:1?圆曲线拟合特征多边形时,其偏差值要太于=次B样条曲线的拟合偏差.特征多边形相邻两边的长度相差越大.上述两种曲线拟合偏差之差越大.2一二次B样条曲线的拟合误差是三次B样条曲线拟合误差的四分之三.3一对特征多边形作曲线拟合时,在圆曲线.二次B样条,三次B佯条中使用二次B样条参考文献1盒延赞.计算机图形学.杭州t浙江大学出版杜.1988165,1672许隆文.计算机绘图.北京机槭工业出版杜.1989,334,3383孙家广.扬长贵.计算机图形学.北京清华大学出版杜.1994:288,2g0AnalysisofAccuracyofThreeCurve—FittingMethodsXHKdi(Dept?ofCivilE.ShanghaiTiedaoUniv)..Abst喇{reecurve—fittigmethodsareanalyzedandcornpared.ThequadraticBph”re岛ekcted.heopjmlJmcurvefittingforimp?Vingmapaccuracyoftopo graghicaldrawing?andthey8reverifiedbexperiments.dsltopographicmap,eurve—fittig,fittingaccuraey,BsDlines。
三次样条拟合典型实例

1设计目的、要求对龙格函数22511)(xx f +=在区间[-1,1]上取10=n 的等距节点,分别作多项式插值、三次样条插值和三次曲线拟合,画出)(x f 及各逼近函数的图形,比较各结果。
2设计原理(1) 多项式插值:利用拉格朗日多项式插值的方法,其主要原理是拉格朗日多项式,即:01,,...,n x x x 表示待插值函数的1n +个节点, 0()()nn j k k j j k L x y l x y ===∑,其中0,1,...,j n =;011011()...()()...()()()...()...()...()k k n k k k k k k k n x x x x x x x x l x x x x x x x x x -+-+----=----(2) 三次样条插值:三次样条插值有三种方法,在本例中,我们选择第一边界条件下的样条插值,即两端一阶导数已知的插值方法:00'()'S x f = '()'n n S x f =(3)三次曲线拟合:本题中采用最小二乘法的三次多项式拟合。
最小二乘拟合是利用已知的数据得出一条直线或者曲线,使之在坐标系上与已知数据之间的距离的平方和最小。
在本题中,n= 10,故有11个点,以这11个点的x 和y 值为已知数据,进行三次多项式拟合,设该多项式为23432xi i i i p a a x a x ax =+++,该拟合曲线只需2[]xi i p y -∑的值最小即可。
3采用软件、设备计算机、matlab 软件4设计内容1、多项式插值:在区间[]1,1-上取10=n 的等距节点,带入拉格朗日插值多项式中,求出各个节点的插值,并利用matlab 软件建立m 函数,画出其图形。
在matlab 中建立一个lagrange.m 文件,里面代码如下: %lagrange 函数function 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:n if j~=kp=p*(z-x0(j))/(x0(k)-x0(j)); end ends=p*y0(k)+s; end y(i)=s; end建立一个polynomial.m 文件,用于多项式插值的实现,代码如下: %lagrange 插值 x=[-1:0.2:1];y=1./(1+25*x.^2); x0=[-1:0.02:1];y0=lagrange(x,y,x0); y1=1./(1+25*x0.^2); plot(x0,y0,'--r') %插值曲线 hold on %原曲线plot(x0,y1,'-b')运行duoxiangshi.m 文件,得到如下图形:2、三次样条插值:所谓三次样条插值多项式()n S x 是一种分段函数,它在节点i x 011()n n a x x x x b -=<<⋅⋅⋅<<=分成的每个小区间1[,]i i x x -上是3次多项式,其在此区间上的表达式如下:22331111111()[()()]()()666[,]1,2,,.i i i i i i i i i i i i i i i i i h x x h x x S x x x M x x M y M y M h h h x x x i n --------=-+-+-+-∈=⋅⋅⋅,,因此,只要确定了i M 的值,就确定了整个表达式,i M 的计算方法如下: 令:11111111116()6(,,)i i i i i i i i i i i i i i i i i i i i i h h h h h h y y y y d f x x x h h h h μλμ++++--+++⎧===-⎪++⎪⎨--⎪=-=⎪+⎩,则i M 满足如下1n -个方程:1121,2,,1i i i i i i M M M d i n μλ-+++==⋅⋅⋅-,对于第一种边界条件下有⎪⎪⎩⎪⎪⎨⎧-=+-=+---000110111)'],([62]),['(62h f x x M M h x x f f M M n n n n n n如果令100100016([,]')6('[,])1,,1,,n n n n n n f x x f f f x x d d h h λμ----====那么解就可以为⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛----n n n n n n n d d d d M M M M 110110********* μλμλμλ 求函数的二阶导数: >> syms x>> f=sym(1/(1+25*x^2)) f =1/(1+25*x^2) >> diff(f) ans =-(50*x)/(25*x^2 + 1)^2将函数的两个端点,代入上面的式子中:f’(-1)=0.0740f’(1)=-0.0740求出从-1到1的n=10的等距节点,对应的x,y值对应m文件代码如下:for x=-1:0.2:1y=1/(1+25*x^2)endy =得出x=-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1y=0.0385 0.0588 0.1 0.2 0.5 1 0.5 0.2 0.1 0.0588 0.0385编写m文件Three_Spline.mx=linspace(-1,1,11);y=1./(1+25*x.^2);[m,p]=scyt1(x,y,0.0740,-0.0740);hold onx0=-1:0.01:1;y0=1./(1+25*x0.^2);plot(x0,y0,'--b')得到如下图像:.其中蓝色曲线为原图,红色曲线为拟合后的图像。
样条函数及三次样条插值PPT课件

(x)
lim
x xk
Sk 1( x)
lim
x
x
k
Sk (x)
lim
x
x
k
Sk1( x)
k 1,2,,n 1
------(4)
lim
x
x
k
Sk( x)
lim
x
x
k
Sk1( x)
共4n 2个条件
5
Sk (x)是[xk , xk 1 ]上的三次样条插值多项式,应有4个待定的系数 即要确定S(x)必须确定4n个待定的系数 少两个条件 并且我们不能只对插值函数在中间节点的状态进行限制 也要对插值多项式在两端点的状态加以要求 也就是所谓的边界条件:
例. 使用不同的插值方法于函数
y
1
1 x2
x [5,5]
最后,介绍一个有用的结论
定理 . 设f (x) C 2[a,b], S(x)是以xk (k 0,1,, n)
为节点, 满足任意边界条件的三次样条插值函数,
设hi
xi 1
xi
,
h
max
0in1
hi
,
min
0in1
hi
,
则当 h
c 时
S(x)和S(x)在[a,b]上一致收敛到f (x)和f (x)
------(6)
13
由(11)式,可知
S0( x0
)
6( x0
x1 h03
2 x0
) ( y1
y0 )
6 x0
2 x0 h02
4 x1
m0
6 x0
4 x0 h02
2 x1
m1
6 h02
(
基于遗传算法的三次样条函数拟合_陈小平

引 言
在连 续信号 的复原 和重建 过程中 ,须从 离散样 本求出不位于取样点上的数值。 如果 考虑复原过程 总会 存在误差 ,那么通 过一些 有误差 的离散 数据来 得到 整个区间的 曲线是 一个曲 线拟合或 逼近问 题。
而当误差为零时 ,逼近就退化成了插值。作为逼近当 然存在一个用什么函数来逼近的 问题 ,样条 函数 ,尤 其是 三次样条函 数 ,是 曲线拟 合的一 个公认 的较好 方法 ,它具有很好的分段光滑性。但三次样条函数拟 合涉及到矩阵求逆 ,当离散样本点 (观测数据 )越多 , 矩阵就越庞大 ,求逆就越繁琐。 为了解决这 个矛盾 , 本文提出将遗 传算法 ( Genetic algo rithms, GA )用于
据采 样点处 于 tk 上 ,k 为整 数 ,而 h 为采样 间隔 ,则
任意一点可以表 示为 t= tk+ ph , 0≤ p < 1,当采用三
次 B-样条函数来进 行信号拟合时 ,有
k+ 2
∑ S( tk + ph ) =
anB3 ( p + k - n)
n= k- 1
其中
∑ =
1 6h
3 n=
0
Genetic Algorithms Based Cubic Spline Functions Fitting
Chen X iaoping Y u Shengl in Liu Wenbo
Depar tment of M ea sur ement and T esting Enginee ring , N anjing U niv ersity of Aer onautics & Astr onautics N anjing , 210016
数据插值方法范文

数据插值方法范文数据插值是指利用已知数据点来估算或预测未知数据点的方法。
在实际应用中,数据插值常常用于填补缺失数据、估算缺失数据以及生成光滑曲线等任务。
本文将介绍常用的数据插值方法。
1.线性插值方法:线性插值是数据插值的一种简单且常用方法。
它假设在两个已知数据点之间的未知数据点的取值是线性变化的。
线性插值的计算公式可以表示为:y=y1+(x-x1)*(y2-y1)/(x2-x1),其中x1和x2是已知数据点的位置,y1和y2是对应的取值,x是待插值点的位置,y是对应的待插值的值。
2.拉格朗日插值方法:拉格朗日插值方法是一种高次插值方法。
它通过构造一个多项式函数来逼近已知数据点,然后利用多项式进行插值。
拉格朗日插值的计算公式可以表示为:y = Σ(yi * L(xi)),其中xi和yi是已知数据点的位置和取值,L(xi)是拉格朗日插值多项式的系数。
3.牛顿插值方法:牛顿插值方法也是一种高次插值方法。
与拉格朗日插值不同的是,牛顿插值使用了差商的概念来构造插值多项式。
牛顿插值的计算公式可以表示为:y=Σ(Di*ωi),其中Di是差商,ωi是权重。
牛顿插值可以通过迭代计算差商并更新权重来求解。
4.三次样条插值方法:三次样条插值方法是一种光滑插值方法,其主要思想是以每两个已知数据点为节点,通过拟合三次多项式来进行插值。
三次样条插值的计算公式可以表示为:S(x) = ai + bi(x-xi) + ci(x-xi)^2 + di(x-xi)^3,其中ai、bi、ci、di是多项式的系数,xi是已知数据点的位置。
5.克里金插值方法:克里金插值方法是一种空间插值方法,主要用于地质学、气象学等领域。
它假设未知点的取值是由已知点的取值通过一定的权重加权求和得到的。
克里金插值的计算公式可以表示为:Z(x)=Σ(λi*Zi),其中Z(x)是待插值点的取值,Zi是已知数据点的取值,λi是权重。
除了以上介绍的几种常用的数据插值方法外,还有一些其他的插值方法,如最邻近插值、反距离权重插值、径向基函数插值等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1设计目的、要求对龙格函数22511)(xx f +=在区间[-1,1]上取10=n 的等距节点,分别作多项式插值、三次样条插值和三次曲线拟合,画出)(x f 及各逼近函数的图形,比较各结果。
2设计原理(1) 多项式插值:利用拉格朗日多项式插值的方法,其主要原理是拉格朗日多项式,即:01,,...,n x x x 表示待插值函数的1n +个节点,()()nn j k k j j k L x y l x y ===∑,其中0,1,...,j n =;011011()...()()...()()()...()...()...()k k n k k k k k k k n x x x x x x x x l x x x x x x x x x -+-+----=----(2) 三次样条插值:三次样条插值有三种方法,在本例中,我们选择第一边界条件下的样条插值,即两端一阶导数已知的插值方法:00'()'S x f = '()'n n S x f =(3)三次曲线拟合:本题中采用最小二乘法的三次多项式拟合。
最小二乘拟合是利用已知的数据得出一条直线或者曲线,使之在坐标系上与已知数据之间的距离的平方和最小。
在本题中,n= 10,故有11个点,以这11个点的x 和y 值为已知数据,进行三次多项式拟合,设该多项式为23432xi i i i p a a x a x ax =+++,该拟合曲线只需2[]xi i p y -∑的值最小即可。
3采用软件、设备计算机、matlab 软件4设计内容1、多项式插值:在区间[]1,1-上取10=n 的等距节点,带入拉格朗日插值多项式中,求出各个节点的插值,并利用matlab 软件建立m 函数,画出其图形。
在matlab 中建立一个lagrange.m 文件,里面代码如下: %lagrange 函数function 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:n if j~=kp=p*(z-x0(j))/(x0(k)-x0(j)); end ends=p*y0(k)+s; end y(i)=s; end建立一个polynomial.m 文件,用于多项式插值的实现,代码如下: %lagrange 插值 x=[-1:0.2:1];y=1./(1+25*x.^2); x0=[-1:0.02:1];y0=lagrange(x,y,x0); y1=1./(1+25*x0.^2); plot(x0,y0,'--r') %插值曲线 hold on %原曲线plot(x0,y1,'-b')运行duoxiangshi.m 文件,得到如下图形:2、三次样条插值:所谓三次样条插值多项式()n S x 是一种分段函数,它在节点i x 011()n n a x x x x b -=<<⋅⋅⋅<<=分成的每个小区间1[,]i i x x -上是3次多项式,其在此区间上的表达式如下:22331111111()[()()]()()666[,]1,2,,.i i i i i i i i i i i i i i ii i h x x h x x S x x x M x x M y M y M h h h x x x i n --------=-+-+-+-∈=⋅⋅⋅,, 因此,只要确定了i M 的值,就确定了整个表达式,i M 的计算方法如下: 令:11111111116()6(,,)i i i i i i i i i i i i i ii i i i i i i h h h h h h y y y y d f x x x h h h h μλμ++++--+++⎧===-⎪++⎪⎨--⎪=-=⎪+⎩,则i M 满足如下1n -个方程:1121,2,,1i i i i i i M M M d i n μλ-+++==⋅⋅⋅-,对于第一种边界条件下有⎪⎪⎩⎪⎪⎨⎧-=+-=+---000110111)'],([62]),['(62h f x x M M h x x f f M M n n n n n n如果令100100016([,]')6('[,])1,,1,,n n n n n n f x x f f f x x d d h h λμ----====那么解就可以为⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----n n n n n n n d d d d M M M M 110110111102222μλμλμλ求函数的二阶导数: >> syms x>> f=sym(1/(1+25*x^2)) f =1/(1+25*x^2) >> diff(f) ans =-(50*x)/(25*x^2 + 1)^2将函数的两个端点,代入上面的式子中:f’(-1)=0.0740f’(1)=-0.0740求出从-1到1的n=10的等距节点,对应的x,y值对应m文件代码如下:for x=-1:0.2:1y=1/(1+25*x^2)endy =得出x=-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1y=0.0385 0.0588 0.1 0.2 0.5 1 0.5 0.2 0.1 0.0588 0.0385编写m文件Three_Spline.mx=linspace(-1,1,11);y=1./(1+25*x.^2);[m,p]=scyt1(x,y,0.0740,-0.0740);hold onx0=-1:0.01:1;y0=1./(1+25*x0.^2);plot(x0,y0,'--b')得到如下图像:.其中蓝色曲线为原图,红色曲线为拟合后的图像。
3、三次曲线拟合:这里我们使用最小二乘法的3次拟合建立一个Three_fitting .m文件,代码如下:%主要代码x=[-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1];y=[0.0385 0.0588 0.1 0.2 0.5 1 0.5 0.2 0.1 0.0588 0.0385];a=polyfit(x,y,3);x1=[-1:0.01:1];y1=a(4)+a(3)*x1+a(2)*x1.^2+a(1)*x1.^3;x0=[-1:0.01:1];y0=1./(1+25*x0.^2)%原曲线 plot(x0,y0,'-r') hold on %三次拟合曲线 plot(x1,y1,'-b')上图中,蓝色部分为三次拟合曲线,红色部分为原曲线6结果分析拉格朗日插值的优点是对于某一区域,不限于被估计点周围,公式简单易实施。
一般认为n 的次数越高,逼近)(x f 的精度就越好,但在本题中,对龙格函数22511)(xx f +=,中间部分插值效果比较好,而对于两端,插值结果是非常不理想的,即龙格现象。
样条函数可以给出光滑的插值曲线,从本题中就能体现出来。
从以上图形可以看出,三次样条插值的图形是比较逼近于原图的,收敛性相对而言是非常好的,但在本题中,仅将原区间分成10个等距区间,因此,逼近效果还不是特别理想,当我们将n 增大时,插值后的曲线越逼近于原曲线。
总的来说,三次样条插值的稳定性比较好,收敛性比较强。
在这三种方法中,三次曲线拟合的效果是最差的,所得的图形与原曲线差距甚远。
最小二乘法中,并不要求拟合后的曲线经过所有已知的点,只需要拟合多项式上的点在某种标准上与定点之间的差距最小即可,因此与原曲线的逼近程度是最差的。
最小二乘法的多项式拟合只适用于多项式,而本题中的函数并不是一个多项式,因此,不建议使用最小二乘法拟合。
参考文献:[1] 李庆扬王能超等.数值分析[M].清华大学出版社[2] 吴振远.科学计算实验指导书基于MATLAB数值分析[M].中国地质大学出版社[3] 宋叶志.MATLAB数值分析与应用[M]. 机械工业出版社 , 2009.07附录三次样条插值主要代码:function [m,p]=scyt1(x,y,df0,dfn)n=length(x);r=ones(n-1,1);u=ones(n-1,1);d=ones(n,1);r(1)=1;d(1)=6*((y(2)-y(1))/(x(2)-x(1))-df0)/(x(2)-x(1));u(n-1)=1;d(n)=6*(dfn-(y(n)-y(n-1))/(x(n)-x(n-1)))/(x(n)-x(n-1));for k=2:n-1u(k-1)=(x(k)-x(k-1))/(x(k+1)-x(k-1)); r(k)=(x(k+1)-x(k))/(x(k+1)-x(k-1));d(k)=6*((y(k+1)-y(k))/(x(k+1)-x(k))-(y(k)-y(k-1))/(x(k)-x(k-1)))/(x(k+1)-x(k-1));endA=eye(n,n)*2;for k=1:n-1A(k,k+1)=r(k);A(k+1,k)=u(k);endm=A\d;ft=d(1);syms tfor k=1:n-1 %求s(x)即插值多项式p(k,1)=m(k)/(6*(x(k+1)-x(k)));p(k,2)=m(k+1)/(6*(x(k+1)-x(k)));p(k,3)=(y(k)-m(k)*(x(k+1)-x(k))^2/6)/(x(k+1)-x(k));p(k,4)=(y(k+1)-m(k+1)*(x(k+1)-x(k))^2/6)/(x(k+1)-x(k));sx(k)=p(k,1)*(x(k+1)-t)^3+p(k,2)*(t-x(k))^3+p(k,3)*(x(k+1)-t)+p(k,4)*(t-x(k)); endkmax=1000;xt=linspace(x(1),x(n),kmax);for i=1:n-1 %出点xt对应的y值for k=1:kmaxif x(i)<=xt(k)&xt(k)<=x(i+1)fx(k)=subs(sx(i),xt(k));endendendplot(xt,fx,'r'); xlabel('x');ylabel('y'); title('f');text(x(fix(n/2)),y(fix(n/2)),'f')hold onplot(x,y,'*')hold off。