diedai.m

来自「用牛顿法解方程组」· M 代码 · 共 26 行

M
26
字号
function X=diedai(Fx,B,X0,tol,nmax)%输入时自己调整顺序以便得到收敛的结果
X0=X0';
X=X0+1;
niter=0;
L=tril(Fx,-1);
U=triu(Fx,1);
D=Fx-L-U;
B=B';
E=inv(D);
while abs(max(X-X0)) >= tol && niter <= nmax
    niter=niter+1;
    X1=-E*(U+L)*X+ E*B;
    X0=X;
    X=X1;
end
niter
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%下为计算结果
%diedai([10 -1 2 0;-1 11 -1 3;2 -1 10 0;0 3 -1 8],[6 25 -11 -11],[0 0 0 0],1.e-3,100)
%niter =8
%ans =
%    1.1039
%    2.9959
%   -1.0211
%   -2.6262

⌨️ 快捷键说明

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