Advertisement
Guest User

Untitled

a guest
Apr 27th, 2015
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.22 KB | None | 0 0
  1. function [X] = GECP (A, b)
  2.  
  3. n = length(A);
  4.  
  5. xnr = (1:n)';
  6. for i = 1: n-1
  7.   p = s = i;
  8.   for k = i: n
  9.     for l = i: n
  10.       if A(k, l) > A(s, p)
  11.         s = k;
  12.         p = l;
  13.       end
  14.     end
  15.   end
  16.   %zamiana wierszy
  17.   pom = A(i, :);
  18.   A(i, :) = A(s, :);
  19.   A (s, :) = pom;
  20.   pom = b(i);
  21.   b(i) = b(s);
  22.   b(s) = pom;
  23.   %zamaina kolumn
  24.   pom = A(:, i);
  25.   A(:, i) = A(:, p);
  26.   A(:, p) = pom;
  27.   pom = xnr(i);
  28.   xnr(i) = xnr(p);
  29.   xnr(p) = pom;
  30.   A
  31.   b
  32.  
  33.   for j = i+1:n
  34.     k = A(j, i)./A(i, i);
  35.     A(j, : ) = A(j, :) - k.*A(i, :)
  36.     b(j) = b(j) - k.*b(i);
  37.   end
  38. end  
  39.  
  40. X = b;
  41.  
  42. X(n) = b(n)./A(n,n);
  43. for j=(n-1):-1:1
  44.   for i=n:-1:j+1
  45.     X(j) = X(j) - X(i).*A(j, i);
  46.   end
  47.   X(j) = X(j)./A(j, j);
  48.  end
  49. X(xnr) = X;
  50. endfunction
  51.  
  52.  
  53.  
  54. function [X] = GEPP (A, b)
  55.  
  56. n = length(A);
  57.  
  58.  
  59. for i = 1: n-1
  60.   s = i;
  61.   for k = i: n
  62.     if abs(A(k, i)) > (A(s, i))
  63.       s = k;
  64.     end
  65.   end
  66.   A([s, i], :) = A([i, s], :);
  67.   b([s, i]) = b([i,s]);
  68.  
  69.   for j = i+1:n
  70.     k = A(j, i)./A(i, i);
  71.     A(j, : ) = A(j, :) - k.*A(i, :)
  72.     b(j) = b(j) - k.*b(i);
  73.   end
  74. end  
  75.  
  76. X = b;
  77. for j=n:-1:1
  78.   for i=n:-1:j+1
  79.     X(j) = X(j) - X(i).*A(j, i);
  80.   end
  81.   X(j) = X(j)./A(j, j);
  82.  end
  83.  
  84. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement