gseid.m

来自「关于数值计算的matlab程序代码,包含了很多的实用的算法.程序全部可以直接用的」· M 代码 · 共 43 行

M
43
字号
function X=gseid(A,B,P,delta, max1)% Input  - A is an N x N nonsingular matrix%        - B is an N x 1 matrix%        - P is an N x 1 matrix; the initial guess%	 - delta is the tolerance for P%	 - max1 is the maximum number of iterations% Output - X is an N x 1 matrix: the gauss-seidel approximation to%	   the solution of AX = B%  NUMERICAL METHODS: Matlab Programs% (c) 2004 by John H. Mathews and Kurtis D. Fink%  Complementary Software to accompany the textbook:%  NUMERICAL METHODS: Using Matlab, Fourth Edition%  ISBN: 0-13-065248-2%  Prentice-Hall Pub. Inc.%  One Lake Street%  Upper Saddle River, NJ 07458N = length(B);for k=1:max1   for j=1:N      if j==1        X(1)=(B(1)-A(1,2:N)*P(2:N))/A(1,1);      elseif j==N	     X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1))')/A(N,N);      else	     %X contains the kth approximations and P the (k-1)st        X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)'-A(j,j+1:N)*P(j+1:N))/A(j,j);      end   end   err=abs(norm(X'-P));   relerr=err/(norm(X)+eps);   P=X';      if (err<delta)|(relerr<delta)     break   endendX=X';

⌨️ 快捷键说明

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