⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gauselim.mht

📁 it is a very essential matlab code.
💻 MHT
字号:
From: <Saved by Windows Internet Explorer 7>
Subject: 
Date: Tue, 12 May 2009 09:49:34 -0700
MIME-Version: 1.0
Content-Type: text/html;
	charset="Windows-1252"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.mece.ualberta.ca/Courses/mec390/390code/gauselim.m
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.6000.16825" name=GENERATOR></HEAD>
<BODY><PRE>function [x, err] = gauselim(A, b)
% Gaussian Elimination routine
%
% USAGE:   [x, err] = gauselim(A, b)
%  where   A = square coefficient matrix, size n X n
%          b = single RHS column vector, size n X 1
%          x = solution column vector, size n X 1
%        err = error code:
%                = 0 = no error
%                = 1 = singular matrix detected
%                = 2 = not a square matrix

err = 0;

% check that input is legal
[n,m] = size(A);
if n ~= m
  disp('Error in gauselim: Matrix must be square.')
  err = 2; return
end

%set up space for solution vector
x = zeros(size(b));

% form augmented matrix by adding b to last column of A
m = n+1; A(:,m) = b;

% FORWARD ELIMINATION

for k = 1:n-1

  [A, err] = gepivot(A, k);   % partial pivoting

  if err ~= 0
     disp('Matrix is singular'); return
  end

  for i = k+1:n
    term = A(i,k)/A(k,k);
    for j = k+1:m
       A(i,j) = A(i,j) - term*A(k,j);
    end
  end
end

% BACK SUBSTITUTION
if A(n,n) == 0
     err = 1; disp('Matrix is singular'); return
end

x(n) = A(n,m)/A(n,n);
for i = n-1:-1:1
   sum = 0;
   for j = i+1:n
      sum = sum + A(i,j)*x(j);
   end
   x(i) = (A(i,m) - sum) / A(i,i);
end

</PRE></BODY></HTML>

⌨️ 快捷键说明

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