matlab插值与拟合例题_Matlab曲线拟合与插值运算

第五次课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?

2

5.0x

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)

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

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

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

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

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

你可能感兴趣的:(matlab插值与拟合例题)