2. 最速下降法
function[x,k]=sd(A,b,x0)
k=0;%设置迭代次数k初值为0
eps=1e-4;%设置迭代终止条件的误差值为10-4
tol=1;%设置相邻两次迭代值之差初始值为1
while tol>=eps%当相邻两次迭代值之差大于等于10-4时执行以下程序
r=b-A*x0;
ak=dot(r,r)/dot(A*r,r);
x=x0+ak*r;%最速下降法迭代格式
tol=norm(x-x0);%计算相邻两次迭代值之差
x0=x;%将本次迭代结果作为下一次迭代值
k=k+1;%迭代次数加1
end
评论0