matlab插值曲线拟合资料重点
- 格式:ppt
- 大小:863.00 KB
- 文档页数:56
插值法和曲线拟合电子科技大学摘要:理解拉格朗日多项式插值、分段线性插值、牛顿前插,曲线拟合,用matlab 编程求解函数,用插值法和分段线性插值求解同一函数,比较插值余项;用牛顿前插公式计算函数,计算函数值;对于曲线拟合,用不同曲线拟合数据。
关键字:拉格朗日插值多项式;分段线性插值;牛顿前插;曲线拟合引言:在数学物理方程中,当给定数据是不同散点时,无法确定函数表达式,求解函数就需要很大的计算量,我们有多种方法对给定的表格函数进行求解,我们这里,利用插值法和曲线拟合对函数进行求解,进一步了解函数性质,两种方法各有利弊,适合我们进行不同的散点函数求解。
正文:一、插值法和分段线性插值 1拉格朗日多项式原理对某个多项式函数,已知有给定的k + 1个取值点:其中对应着自变量的位置,而对应着函数在这个位置的取值。
假设任意两个不同的x j 都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为:其中每个为拉格朗日基本多项式(或称插值基函数),其表达式为:[3]拉格朗日基本多项式的特点是在 上取值为1,在其它的点 上取值为0.2分段线性插值原理给定区间[a ,b ], 将其分割成a=x 0 <x 1 〈…〈x n =b, 已知函数y= f(x ) 在这些插值结点的函数值为 y k =f(x k )(k=0,1,…,n)求一个分段函数I h (x), 使其满足:(1) I h (x k )=y k ,(k=0,1,…,n) ;(2) 在每个区间[x k ,x k+1 ] 上,I h (x )是个一次函数。
易知,I h (x)是个折线函数, 在每个区间[x k ,x k+1 ]上,(k=0,1,…,n)k 1k k1k 1k k 1k k k ,1)()()(x x x x x f x x x x x f x L --+--=++++,于是, I h (x )在[a,b ]上是连续的,但其一阶导数是不连续的.3拉格朗日插值多项式算法 ○1输入,(0,1,2,,)i i x y i n =,令0)(=x L n .错误!对0,1,2,,i n =,计算0,()()/()ni j i j j j il x x x x x -≠=--∏()()()n n i i L x L x l x y ←−−+4分段线性插值算法错误!输入(x k ,y k ),k=0,1,…,n;○2计算k 1k k1k 1k k 1k k k ,1)()()(x x x x x f x x x x x f x L --+--=++++5插值法和分段线性插值程序按下列数据分别作五次插值和分段线性插值,画出两条插值曲线以及给定数据点。
第五次课Matlab曲线拟合与插值运算一、本次课学习要点1、Matlab曲线拟合与插值运算2、符号表达式二、本次课教学重点利用M文件的Matlab曲线拟合与插值运算三、教学基本内容1、曲线拟合在许多应用领域中,人们经常需要从一系列已知离散点上的数据集[(x1,y1),(x2,y2)],…(x n,y n)]得到一个解析函数y=f (x)。
得到的解析函数f(x)应当在原离散点x i上尽可能接近给定的y i的值。
这一过程称为曲线拟合。
最常用的曲线拟合是最小二乘法曲线拟合。
似合结果可使误差的平方和最小,MATLAB提供的函数polyfit,根据给定的自变量数组x和函数数组y,按照拟合的阶数要求自动求解满足最小二乘意义的一阶或高阶解析函数f(x),使用很方便。
为了说明这个问题,我们取以下函数为例:2-=y⨯25.0xx=0:0.1:1;for i=1:length(x);y(i)=0.5-2*x(i)^2;end显示为:将y值进行一定的修改,输入如下的程序y=[0.52 0.45 0.4 0.35 0.18 0.02 -0.25 -0.4 -0.81 -1.1 -1.5]m=1;fxy1=polyfit(x,y,m)m=2;fxy2=polyfit(x,y,m)y1=polyval(fxy1,x) %多项式求值,x为输入值,fx1为一次拟合出来的多项式y2=polyval(fxy2,x)plot(x,y,'o',x,y1,'k:',x,y2,'k')显示为:2、插值运算与曲线拟合不同,插值运算不是试图找出适合于所有自变量数组x的全局最优拟合函数Y=f(x〕,而是要找到一个解析函数连接自变量相邻的两个点(xi,xi十1),由此还可以找到两点间的数值。
根据自变量的维数不同,插值方法可以分为一维插值y=f(x)和二维插值z=f(x,y)等。
在许多工程问题上,我们只能获得无规律的离散点上的数值,插值可以帮助我们得到近似的连续过程,便于用数学的解析方法对已有数据进行处理和运算,因此是一个很有用的工具。
matlab插值法拟合曲线
在MATLAB中,一维插值函数为interp1(),其调用格式为:
Y1=interp1(X,Y,X1,method)。
其中,X、Y是两个等长的已知向量,分别表示采样点和采样值;X1是一个向量或标量,表示要插值的点;method参数用于指定插值方法,常用的取值有以下四种:
1. linear:线性插值,默认方法。
将与插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。
2. nearest:最近点插值。
选择最近样本点的值作为插值数据。
3. pchip:分段3次埃尔米特插值。
采用分段三次多项式,除满足插值条件,还需满足在若干节点处相邻段插值函数的一阶导数相等,使得曲线光滑的同时,还具有保形性。
4. spline:3次样条插值。
每个分段内构造一个三次多项式,使其插值函数除满足插值条件外,还要求在各节点处具有连续的一阶和二阶导数。
曲线拟合可以使用cftool工具,首先导入X和Y的数据,然后可以选择残差图和置信区间分布图。
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作为阶次,得到最简单的线性近似。