搜索
您的当前位置:首页曲线拟合与插值

曲线拟合与插值

来源:飒榕旅游知识分享网


1、曲线拟合

在许多应用领域中,人们经常需要从一系列已知离散点上的数据集[(x1,y1),(x2,y2)],…(xn,yn)]得到一个解析函数y=f(x)。得到的解析函数f(x)应当在原离散点xi上尽可能接近给定的yi的值,这一过程称为曲线拟合。最常用的曲线拟合是最小二乘法曲线拟合。似合结果可使误差的平方和最小,MATLAB提供的函数polyfit,根据给定的自变量数组x和函数数组y,按照拟合的阶数要求自动求解满足最小二乘意义的一阶或高阶解析函数(fx),使用很方便。为了说明这个问题,我们取以下函数为例:

2y0.52x

x=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) %获得拟合的多项式系数,存储在fxy1

m=2;

fxy2=polyfit(x,y,m)

y1=poly val(fxy1,x) %多项式求值,x为输入值,y1为作图使用。此处为了画出拟合之后的曲线,是运用了离散点的形式绘图,也可以直接使用函数形式来画图,与未拟合的离散点对比。指令为:fun1=poly2sym(fxy1);ezplot(fun1,[x(1),x(2)]);

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的一维插值命令可以进行线性插值、三次样条插值和三次插值等。

interp1是一维插值命令。命令形式如下:

Z=interp1(x,y,x0,‘method’)

式中,x,y为给定数组.x0是要计算的x的位置,可以是一个或一组数据,全部数据应当在x的取值范围内。Method是所用的原值方法。线性插值使用下列方法(都适用于一维和二维插值):

‘linear’——线性插值(缺省);

‘nearest’——用最接近的相邻点插值;

‘spline’——三次样条插值;

‘Cubic’——三次插值(精度高)

a.线性插值

线性插值的最简单例子是matlab的作图。按缺省设置,Matlab作图时用直线连接所有的数据点.它利用线性插值估计数据点之间的取值。例如:

x=[1 2 3 4 5 6 7]

y=[2 3 6 4 6 3 9]

p=interp1(x,y,5.5) %用线性插值求x=5.5的时候,y的值是多少并赋给p

若插入为一组数据,

x=[1 2 3 4 5 6 7]

y=[2 3 6 4 6 3 9]

x0=1:0.5:3

p1=interp1(x,y,x0) %对应一组xo的值,求出y的值

b.三次样条插值

三次样条插值用一个3阶多项式连接相邻的两个点。在每一个点上,相邻两个连续函数的1阶、2阶导数相同。这样可以使连接后的曲线光滑起来,不会出现线性插值的折线连接效果。使用三次样条插值时,在 interpl命令中加人‘spline’标志。

试分析如下程序

x2=0:0.1:10;

y2=sin(x2);

x0=1:0.1:3;

p=interp1(x2,y2,x0,'spline') plot(x2,y2,'k')

hold on

二维插值举例

1、求写出下列程序的结果

x=[1 2 3 4 5 6];

y=[1 2 3 4];

%三次样条插值

t=[12 11 12 13 15 16

16 22 34 23 22 43

12 43 15 34 23 26

20 25 30 33 32 30];

mesh(x,y,t) figure x0=1:0.1:6;

y0=2;

t1=interp2(x,y,t,x0,y0); t2=interp2(x,y,t,x0,y0,'cubic'); plot(x0,t1,'k',x0,t2,'k--')

%三维绘图

%图像同时显示

%二维线性插值

%二维三次插值

%二者的比较

因篇幅问题不能全部显示,请点此查看更多更全内容

Top