📄 jacobi iteration.m
字号:
function jacobi_iteration(A,B)
%jacobi_iteration(A,B)
error(nargchk(2,2,nargin))
n=max(size(A)); %get dimention of A
for i=1:n
if A(i,i)==0
'对角元素不能为零'
return
end
end
format long
e = input('输入终止差值: ');
if isempty(e)
fprintf('您没有输入值');
return
end
X=zeros(n,1);%set origin radix
k=0; %prefabricate degree of iterating
kmax = input('输入最大迭代次数: ');
if isempty(kmax)
kmax=50; %max degree of iterating
end
r=1; %前后项差值的无穷范数
while k<=kmax&r>e %set end condition of iterativing
X0=X;
for i=1:n
X(i)=0;
for j=1:n
X(i)=X(i)+A(i,j)*X0(j);
end
X(i)=X0(i)+(B(i)-X(i))/A(i,i);
end
r=norm(X-X0,inf);
k=k+1;
end
if k>kmax
'can not constringe it'
else
'constringetion succeed'
X
k
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -