因论文中需要使用到最小二乘法来拟合数据曲线,没有原理推导,只是自学+简单使用记录。
Matlab中相关函数:polyfit,polyval(当然matlab中还有许多拟合函数:lsqcurvefit、regress等等)
使用:[P S mu]=polyfit(x,y,n),其中,P-返回n次拟合多项式系数从高到低依次存放于向量P中,S-包含三个值R、df、normr其中R是上三角矩阵系数,df是自由度,normr是残差平方和,mu-包含两个值 mean(x)均值,std(x)标准差。
两个评级指标:决定系数r2(相关系数r的平方)和相对最大残差ε
St 为总平方和,Sr为残差平方和,ym-y0 为系统最大测量范围,决定系数就是相关系数的平方。在Matlab中具体操作如下:
x=[。。。。。。];
y=[。。。。。。];
[p,s]=polyfit(x,y,n);
f=polyval(p,x);
rs=1-s.normr^2/norm(y-mean(y))^2;
e=max(abs(f-y));
x,y为原始测量数据,rs为决定系数,e为最大残差,n为多项式阶数(n要小于数据个数),图和指令就不贴了。