问题描述
我正在尝试使用最小二乘法实现多项式回归。绘制第三个图形时出现问题,未显示。
我认为这是关于公式 y=ax+b 的实现。
但就我而言,首先我使用内联函数 polyfit
和 polyval 获得了实验数据值。
x=0:0.1:5;
y=3*x+2;
y1=y+randn(size(y));
k=1;#polynom
X1=0:0.01:10
B=polyfit(x,y1,k);
Y1=polyval(B,X1);
毕竟,我已经在使用线性模型用最小二乘法求解多项式回归了。
Y2=Y1'*x+B'; -----this problem formula
subplot(3,2,3);
plot(x,Y1,'-b',X1,'linewidth');
title('y1=ax+b');
xlabel('x');
ylabel('y');
grid on;
结果,没有绘制图形。
解决方法
检查向量的大小:x 和 Y1 的长度不同,X1 和 y1 的长度相同。
您可能想绘制为:
plot(x,y1,'-b',X1,Y1,'LineWidth',1);