MatLab中多项式数据拟合(ployfit函数与polyval函数的线性拟合)
ployfit函数
函数原型
p=polyfit(x,y,n)
其中x,y为拟合数据向量,要求维度相同,n为拟合多项式次数
结果返回:
- P-返回n次拟合多项式系数从高到低依次存放于向量P中
- S-包含三个值其中normr是残差平方和
- mu-包含两个值 mean(x)均值,std(x)标准差。
注意
p向量返回一个一维的系数矩阵,这个一维的系数矩阵中的元素是按照多项式当中的次数由高到低排列的
函数拟合的次数要小于数据的个数
polyval函数
函数原型
y=polyval(p,x)
其中p为多项式的系数矩阵,x为自变量矩阵,此函数的意义是计算以p为系数的多项式在各个自变量处的值,y返回的就是计算出的值
拟合时要注意
- 在对已测数据不太明确满足什么关系时,需要假设为多种曲线拟合然后比较各自的residal(均方误差)越小者为优
- 点不一定是越多越好,次数不一定是越高越好,数据不一定是越全面越好