jacobi-matlab.txt

来自「数值计算中Jacobi迭代法的Matlab程序」· 文本 代码 · 共 34 行

TXT
34
字号
Jacobi迭代法的Matlab程序 
 
function [x]=Jacobi_iterative(A,b)
% 用Jacobi迭代求解线性方程组,矩阵A是方阵
    x0=zeros(1,length(b)); % 赋初值
    tol=10^(-6); % 给定误差界
    N=100;  % 给定最大迭代次数
    [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迭代求解线性方程组的输出结果********\n\n');
            fprintf(fid,'迭代次数: %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迭代求解线性方程组的输出结果********\n\n');
      fprintf(fid,'迭代次数: %d次\n\n',k);
      fprintf(fid,'超过最大迭代次数,求解失败!');
      fclose(fid);
 
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?