Matlab-差值/拟合/回归分析

  • Post author:
  • Post category:其他


准备把数据处理里面的regress,polyfit,interp系统梳理一遍。虽然说不是数学知识,但还是归类到这边了。

数据拟合

拟合一般而言是针对多项式的。

x=0:0.1:1;
y=[.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2];

[p,s]=polyfit(x,y,3);
x1=0:0.1:1;
y1=polyval(p,x1);
plot(x,y,'-o',x,y1,'k:');
legend('原始数据','3阶拟合');

图片:

接下来一张是6阶拟合:


插值计算

使用interp函数,大体分为  ‘linear’,‘spline’,‘cubic’,意思分别是  ‘线性插值’,’三次样条插值’,’三次多项式插值’

x=0:0.1:1;
y=[.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2];

yi0=interp1(x,y,0.025,'linear')

结果为: 0.3500

图片表示:

在command window那边敲入y1就能够得到计算值了。

回归分析

自己总结下来就是matlab的regress函数是来计算矩阵的,或者是多维的。

直接来干货,假设大家都懂的回归….

代码:

x=[ones(10,1) (1:10)'];
y1=x*[10 ;1]+normrnd(0,0.1,10,1);%自己生成数据

b=regress(y,x);%调用regress函数
y2=x*[9.9133;1.0187];

结果:

b =

   10.0548
    0.9960

4





版权声明:本文为JSRGFJZ原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。