线性方程数值解中jacobi迭代matlab实现

%jacobi迭代
%author:野渡无人
%create date:2007-11-23
function res=jacobi(a,b,x0,eps)
%a为系数矩阵,b为方程组常数向量,x0为初值
if nargin==3
    eps=1.0e-6;
elseif nargin<3
    error
    return;
end
D=diag(diag(a));%求矩阵对角阵
D=inv(D);
L=tril(a,-1);%求严格下三角矩阵
U=triu(a,1);%求严格上三角矩阵
B=-D*(L+U);
if norm(B,inf)>=1
    fprintf('B范数>=1.');
    return;
end
f=D*b;
res=B*x0+f;
i=0;
while norm(res-x0)>=eps
    x0=res;
    res=B*x0+f;
    i=i+1;
end  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值