|
我构造两组数据 x1 和x2 方程是x2=a*x1+b 。求回归系数a 和b 。我故意让x1 和x2严格线性相关。代码如下:
- x1=randi(8,8);x1=x1(:,1);x2=2*x1;b=polyfit(x1,x2,1)
复制代码
b=2 -1.51771994888562e-15
- x1=[x1 ones(size(x1))];b=regress(x2,x1)
复制代码
b=2
0
显然 polyfit后面的常数项只能近似等于0 。但是regress是完全等于0。matlab官方文档说polyfit是基于“基于最小二乘指标” 那么regress是基于什么指标或属于原理呢?之所以polyfit和regress的回归结果常数项有细微差别。是因为背后的数学 原理不同?还是因为一个是数值解?另外一个是解析解的原因呢? |
|