?? jacobi-matlab.txt
字號:
Jacobi迭代法的Matlab程序
function [x]=Jacobi_iterative(A,b)
% 用Jacobi迭代求解線性方程組,矩陣A是方陣
x0=zeros(1,length(b)); % 賦初值
tol=10^(-6); % 給定誤差界
N=100; % 給定最大迭代次數(shù)
[n,n]=size(A); % 確定矩陣A的階
k=1;
% 迭代過程
while k<=N
for i=1:n
x(i)=(b(i)-A(i,:)*x0'+x0(i)*A(i,i))/A(i,i);
end
if max(abs(x-x0))<=tol
fid = fopen('J_Inter_result.txt', 'wt');
fprintf(fid,'\n********用Jacobi迭代求解線性方程組的輸出結(jié)果********\n\n');
fprintf(fid,'迭代次數(shù): %d次\n\n',k);
fprintf(fid,'x的值\n\n');
fprintf(fid, '%12.8f \n', x);
break;
end
k=k+1;
x0=x;
end
if k==N+1
fid = fopen('J_Inter_result.txt', 'wt');
fprintf(fid,'\n********用Jacobi迭代求解線性方程組的輸出結(jié)果********\n\n');
fprintf(fid,'迭代次數(shù): %d次\n\n',k);
fprintf(fid,'超過最大迭代次數(shù),求解失敗!');
fclose(fid);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -