songchidiedai.m

来自「牛顿迭代法」· M 代码 · 共 31 行

M
31
字号
function [x, k]=songchidiedai(w)
% 求解线形方程组的松弛法,其中
%   A --- 方程组的系数矩阵
%   b --- 方程组的右端项
%   jingdu --- 精度要求
%   w --- 松弛因子,省缺为1
%   zuidadieci --- 最大迭代次数,省缺为50
%   x --- 方程组的解
%   k --- 迭代次数
format long
A=[5,2,1;-1,4,2;2,-3,10];b=[-12;20;3];
jingdu=1e-4; 
n=length(A); k=0; 
x=zeros(n,1); y=zeros(n,1); 
while 1
    y=x;
    for i=1:n
        z=b(i);
        for j=1:n
            if j~=i
                z=z-A(i,j)*x(j);
            end
        end
        z=z/A(i,i); x(i)=(1-w)*x(i)+w*z;
    end
    if norm(y-x,inf)<jingdu
        break;
    end
    k=k+1;
end  

⌨️ 快捷键说明

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