笔记中的某些代码和图片来自郭彦甫老师的视频和课件
目录:
一:Polynomial curve fitting
1.1simple linear regression简单线性回归
- polyfit( ):得到x,y拟合方程的系数
练习:
tem=[20 30 40 50 60];
tc=[0.025 0.035 0.05 0.06 0.08];
fit=polyfit(tem,tc,1);
temfit=[tem(1):0.1:tem(end)];
tcfit=fit(1)*temfit+fit(2);
plot(tem,tc,'ko',temfit,tcfit,'r');
set(gca,'FontSize',14);
legend('data point','best-fit');
xlabel('Temperature(℃)');
ylabel('TC output(mV)');
title('Calibration of TC');grid on;
1.2判断x,y有无线性关系
- scatter - 散点图,此 MATLAB 函数 在矢量 x 和 y 指定的位置创建一个包含圆形的散点图。该类型的图形也称为气泡图。scatter(x,y)
- corrcoef - 相关系数, 此 MATLAB 函数 返回 A 的相关系数的矩阵,其中 A 的列表示随机变量,行表示观测值。系数的值在-1到1,越接近1,正相关性越强,越接近-1,负相关性越强
x=[-1.2 -0.5 0.3 0.9 1.8 2.6 3.0 3.5];
y=[-15.6 -8.5 2.2 4.5 6.6 8.2 8.9 10.0];
scatter(x,y);box on;axis square;
corrcoef(x,y)
ans =
1.0000 0.9202
0.9202 1.0000
- 高次方多项式
x=[-1.2 -0.5 0.3 0.9 1.8 2.6 3.0 3.5];
y=[-15.6 -8.5 2.2 4.5 6.6 8.2 8.9 10.0];
figure('Position',[50 50 1500 400]);
for i=1:3
subplot(1,3,i);p=polyfit(x,y,i);
xfit=x(1):0.1:x(end);
yfit=polyval(p,xfit);
plot(x,y,'ro',xfit,yfit);
set(gca,'FontSize',14);
ylim([-17,11]);
legend('Data points','Fitted curve');
end
二:Multiple regrssion
regress()
- regress - Multiple linear regression:b = regress(y,X):回归系数
cftool()
三:Interpolation
interp1
- interp1():interp1 - 一维数据插值(表查找)使用线性插值返回一维函数在特定查询点的插入值。vq = interp1(x,v,xq)
spline( )
- spline():spline - 三次方样条数据插值。返回与 xq 中的查询点对应的插值 s 的矢量。s 的值由 x 和 y 的三次样条插值确定。s = spline(x,y,xq)
interp2()