function [x,n] = jacobi_iteration(A,b,epsilon)
%{
雅克比迭代法
param A:系数矩阵
param b:方程右端向量
param epsilon:误差限值
return x:解向量
return n:迭代次数
%}
rows=size(A,1);
x=zeros(rows,1);
n=1;
while true
if norm(A*x-b)<epsilon
break
end
temp=zeros(rows,1);
for ii=1:rows
temp(ii)=b(ii);
for jj=1:ii-1
temp(ii)=temp(ii)-A(ii,jj)*x(jj);
end
for jj=ii+1:rows
temp(ii)=temp(ii)-A(ii,jj)*x(jj);
end
temp(ii)=temp(ii)/A(ii,ii);
end
x=temp;
n=n+1;
end
end
雅克比迭代法
最新推荐文章于 2024-06-30 16:30:31 发布