sor.m

来自「给出了线性方程组的CG法、Gauss_Seidel、SOR、Jacobi、fem」· M 代码 · 共 32 行

M
32
字号
% clear all
% clc

format long

A=[4 3 0;3 4 -1;0 -1 4];
b=[24;20;-24];

% A=[10 3 1;2 -10 3;1 3 10];
% b=[14;-5;14];
x=zeros(size(b));
y=zeros(size(b));
n=length(b);

w=1.25;
k=0;
while k<7
    k=k+1;
    for i=1:n
        if i==1
            y(i)=(b(i)-A(i,i+1:n)*x(i+1:n))/A(i,i);
        elseif i>=2 & i<=n-1
            y(i)=(b(i)-A(i,1:i-1)*y(1:i-1)-A(i,i+1:n)*x(i+1:n))/A(i,i);
        else
            y(i)=(b(i)-A(i,1:i-1)*y(1:i-1))/A(i,i);
        end
        
    end
   y=w*y+(1-w)*x;
   x=y;
end
y

⌨️ 快捷键说明

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