📄 jacobi.m
字号:
function [x,k,flag,er]=Jacobi(A,b,delta,max1)
%Jacobi迭代法
%A为方程组的系数矩阵
%b为方程组的右端项
%delta为精度要求,缺省值为1e-5
%max1为最大迭代次数,缺省值为100
%x为方程组的解
%k为迭代次数
%flag为指标变量 flag='OK'表示迭代收敛到指标要求
% flag='fail'表示迭代失败
if nargin<4
max1=100;
end
if nargin<3
delta=1e-5;
end
n=length(A);
k=0;
x=zeros(n,1);
y=zeros(n,1);
flag='OK!';
while 1
for i=1:n
y(i)=b(i);
for j=1:n
if j~=i
y(i)=y(i)-A(i,j)*x(j);
end
end
if abs(A(i,j))<1e-10|k==max1
flag='Fail';
return;
end
y(i)=y(i)/A(i,i);
end
if norm(y-x,inf)<delta
break;
end
x=y;
k=k+1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -