weixin_43388526
weixin_43388526
采纳率33.3%
2018-12-20 08:40

matlab如何将jacobi迭代求解线性方程组时的每次迭代误差用matlab绘出?

5

如何将jacobi迭代求解线性方程组时的每次迭代误差用matlab绘出?
这是我的代码:
function [x,n]=jaccbi(A,b,x0,eps,t)
if nargin==3;
eps=1e-6;
m=200;
elseif nargin error('输入的数有误');
return;
elseif nargin==5
m=t;
end
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
B=D\(L+U);
f=D\b;
x=B*x0+f;
n=1;
while norm(x-x0)>=eps
x0=x;
x=B*x0+f;
n=n+1;
if(n>=m)
disp('可能不收敛');
return;
end;
end

A=[4.63 -1.21 3.22;-3.07 5.48 2.11;1.26 3.11 4.57];b=[2.22;-3.17;5.11]
x0=[0 0 0]';[x,n]=jaccbi(A,b,x0,0.001,1000)

这是我的要求,绘图横坐标为迭代次数n,纵坐标为Ax-b

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

相关推荐