为了更直观的说明,拿一道例题来检验。
算法伪代码:
A=[0 1;1 1;2 1;3 1;4 1]; %常数项乘以的系数为1
b=[0;log(2);log(4);log(9);log(12)]; %ln y
eps=1e-6;
x=ones(2,1); %初始化
while(norm(A'*A*x-A'*b)>eps)
x=x-0.05*(A'*A*x-A'*b); %过大的学习率不会收敛
end
x
需要注意的是,x向量上面的值是b,下面的值是 ln a \ln a lna