Matlab数据拟合-----使用polyfit 和polyval函数

      数据拟合的目的是使用一个较为简单的函数去逼近一个复杂的、未知的函数,在MATLAB中数据拟合的原理是最小拟合的最小二乘原理,其中polyfit与polyval是最基本的拟合方法,除此之外,MATLAB还提供了更为直接简单的数据拟合工具,cftool。

下面介绍polyfit函数和polyval函数的用法:

1、首先,polyfit函数的调用格式如下: 
P=polyfit(X,Y,n) 
[P,S]=polyfit(X,Y,n) 
[P,S,mu]=polyfit(X,Y,n) 
函数polyfit将根据采样点X和采样点的函数值Y,产生一个n次的多项式P,S为采样点的误差向量 
,mu(1)是mean(X)(平均值),mu(2)是std(X)(方差)。
P的返回值为幂次从高到低的多项式系数向量。

2、其次,polyval函数的调用格式如下:

y=polyval(p,x);

[y,delta]=polyval(p,x,s);

y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。

[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。

两个函数的区别是:polyfit函数是根据最小二乘法对X,Y拟合得到的多项式的系数向量;

                                 polyval函数是根据polyfit函数得到的多项式系数向量求得的y值

                                所以说,polyfit和polyval两个函数一般是成对出现的。

下面以一个例子进行演示两个函数的使用方法:

(1)首先输入测得的数据

(2)使用polyfit函数得到多项式系数向量

(3)使用polyval函数得到理论数据值

(4)画图

>> plot(t,y,'r*',t,y1,'--')

(5)对图形进行修饰操作

比如添加坐标轴标题,图形标题

猜你喜欢

转载自blog.csdn.net/qq_25018077/article/details/87872789
今日推荐