我以前在这方面的主题。
我决定不改变主要问题,而是为每个问题创建一个新问题。
这一次,问题如下。我在多项式回归中使用最小二乘法。
将该函数相对于参数 b 的向量微分并将导数设为零,我们得到方程组(以矩阵形式)。这个公式。
也就是说,如果我想从这里表达b,我需要做我所做的。
b=X^{T}y/(X^{T}X)=> b=X'*y1/(X'*X)
代码:
#Generating random values of experimental data
x=0:0.1:5;
y=3*x+2;
y1=y+randn(size(y));
k=5;#Polynomial degree
X=[x' ones(length(x),1)];
b=X'*y1/(X'*X); Error: operator *: nonconformant arguments (op1 is 2x51, op2 is 1x51)\
是的,数组的尺寸X
和y1
不重合。随附的屏幕截图将显示所有内容。在此屏幕截图中,变量 X、y1 和 X'(转置)。
然后我决定从数组中选择 1 列X
并将其乘以y1
.
如果您查看屏幕截图,您会看到现在转置X'
的尺寸与尺寸相匹配y1
。也就是说,应该没有错误,但它仍然存在。