共轭斜向法求解线性方程组

%共轭斜向法求解线性方程组
%Conjugate Gradient Method
%本函数只能求解当A为n*n的矩阵
%2010-10-23
function x=CJM(A,b)
    tic;
    t=size(A);%获取A的行列
    n=t(1);
    x=ones(n,1);
    r=b-A*x;
    p=r;
    fid=fopen('Fconj-Output.txt','w');%用文件保存每次迭代结果
    y=1;%y代表迭代深度
    while norm(r)>1e-10
        alpha=p'*r/(p'*A*p);
        x=x+alpha*p;
        r=r-alpha*A*p;
        beta=-(p'*A*r)/(p'*A*p);
        p=r+beta*p;
       
        fprintf(fid,'%d\t',y);
        for z=1:n %将数据写入文件
            fprintf(fid,'%2.8f\t',x(z));
        end
        fprintf(fid,'alpha=%f\tbeta=%f',alpha,beta);
        fprintf(fid,'\r\n');%输出完一次结果,换行
        y=y+1;
    end
    fclose(fid);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值