Advertisement
Guest User

gauss

a guest
Feb 8th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.85 KB | None | 0 0
  1. function [ x, U ] = gauss( A, b )
  2. %Gaussian Elimination algorithm mimicking
  3. %algorithm 2.3 in the textbook.
  4.  
  5. n = length(b); %how many row/columns our matrix is
  6. m = zeros(n, 1); %placeholders
  7. x = zeros(n,1); %answer matrix
  8.  
  9. for k = 1 : (n - 1)
  10.     if (A(k,k) == 0)
  11.         error('Pivot is zero: breaking');
  12.     end
  13.    
  14.     %Compute a column of M
  15.     for i = (k + 1) : n
  16.         m(i) = (A(i,k) / A(k,k));
  17.     end
  18.    
  19.     %Compute A and b after pivot operations
  20.     for i = (k + 1) : n
  21.        for j = (k + 1) : n
  22.            A(i,j) = A(i,j) - m(i) * A(k,j);
  23.        end
  24.     end
  25.  
  26.     for i = (k + 1) : n
  27.        b(i) = b(i) - b(k) * m(i);
  28.     end
  29. end
  30.  
  31. U= triu(A); %uper triangle of A
  32.  
  33. %Backward substitution
  34. x(n) = b(n) / A(n,n);
  35. for k = n-1 : -1 : 1;
  36.     b(1:k) = b(1:k)  -x(k+1) * U(1:k,k+1);
  37.     x(k) = b(k) / U(k,k);
  38. end;
  39. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement