guass_seidel.m

来自「线性方程组的两个程序」· M 代码 · 共 31 行

M
31
字号
function guass_seidel()
clc;
clear;
tic;
n=3;
exps=1.0e-6;
A=input('A=');
%A=[8 -3 2;4 11 -1;6 3 12];
b=input('b=');
%b=[20;33;36];
x=[2.500;3.000;3.000]; 
dx=x;
count=0;
format long;
while max(abs(dx))>exps & count<=100,
    for row=1:n,
        if A(row,row)==0,
            return;
        end
        dx(row)=(b(row)-A(row,[1:row-1])*x([1:row-1])-A(row,[row:n])*x([row:n]))...
            /A(row,row);
        x(row)=x(row)+dx(row);
    end
    count=count+1;
end
disp('叠代结果为');
x
wucha=max(abs(dx))
disp('叠代次数:');
count
toc

⌨️ 快捷键说明

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