准备把数据处理里面的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 版权协议,转载请附上原文出处链接和本声明。