twostep.m
来自「Matlab语言常用算法程序集.rar 里面有很多有用的Matlab数值运」· M 代码 · 共 36 行
M
36 行
function [x,n]=twostep(A,b,x0,eps,varargin)if nargin==3 eps= 1.0e-6; M = 200;elseif nargin<3 error returnelseif nargin ==5 M = varargin{1};end D=diag(diag(A)); %求A的对角矩阵L=-tril(A,-1); %求A的下三角阵U=-triu(A,1); %求A的上三角阵B1=(D-L)\U;B2=(D-U)\L;f1=(D-L)\b;f2=(D-U)\b;x12=B1*x0+f1;x =B2*x12+f2;n=1; %迭代次数while norm(x-x0)>=eps x0 =x; x12=B1*x0+f1; x =B2*x12+f2; n=n+1; if(n>=M) disp('Warning: 迭代次数太多,可能不收敛!'); return; endend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?