最速下降法法求解线性方程组

%最速下降法法求解线性方程组
%Steepst Descent Method
%本函数只能求解当A为n*n的矩阵
%2010-10-23
function x=SDM(A,b)
    tic
    t=size(A);
    n=t(2);
    x=ones(n,1);
    r=b-A*x;
   
    fid=fopen('FFast-Output.txt','w');%用文件保存每次迭代结果
    y=1;%y代表迭代深度
   
    while norm(r)>1e-10
        alpha=r'*r/(r'*A*r);
        x=x+alpha*r;
        r=b-A*x;
        fprintf(fid,'%d\t',y);
        for z=1:n %将数据写入文件
            fprintf(fid,'%2.8f\t',x(z));
        end
        fprintf(fid,'alpha=%f',alpha);
        fprintf(fid,'\r\n');%输出完一次结果,换行
        y=y+1;
    end
    fclose(fid);
    toc;
end
%如果A的最大特征值比A的最小特征值小很多的话,收敛会很慢,这个时侯不推荐用本方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值