直线拟合
x=[0.0 0.5 1.0 1.5 1.9 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.5 9.0 10.0];
y=[1.0 0.9 0.7 1.5 2.0 2.4 3.2 2.0 2.7 3.5 1.0 4.0 3.6 2.7 5.7 4.6 6.0 6.8 7.3];
func=inline('a*x','a','x');
a0=2;%fit的初始值
a=nlinfit(x,y,func,a0);%这个a就是斜率了
xf=linspace(min(0,min(x)),max(x),10);
yf=a*xf;
plot(x,y,'rs');%画原始数据
hold on
plot(xf,yf);%画拟合曲线
axis(1.1*[min(0,min(x)) 1.1*max(x) 1.1*min(0,min(y)) 1.1*max(yf)])
legend('原始数据','拟合曲线',2)
|