Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [X] = GECP (A, b)
- n = length(A);
- xnr = (1:n)';
- for i = 1: n-1
- p = s = i;
- for k = i: n
- for l = i: n
- if A(k, l) > A(s, p)
- s = k;
- p = l;
- end
- end
- end
- %zamiana wierszy
- pom = A(i, :);
- A(i, :) = A(s, :);
- A (s, :) = pom;
- pom = b(i);
- b(i) = b(s);
- b(s) = pom;
- %zamaina kolumn
- pom = A(:, i);
- A(:, i) = A(:, p);
- A(:, p) = pom;
- pom = xnr(i);
- xnr(i) = xnr(p);
- xnr(p) = pom;
- A
- b
- for j = i+1:n
- k = A(j, i)./A(i, i);
- A(j, : ) = A(j, :) - k.*A(i, :)
- b(j) = b(j) - k.*b(i);
- end
- end
- X = b;
- X(n) = b(n)./A(n,n);
- for j=(n-1):-1:1
- for i=n:-1:j+1
- X(j) = X(j) - X(i).*A(j, i);
- end
- X(j) = X(j)./A(j, j);
- end
- X(xnr) = X;
- endfunction
- function [X] = GEPP (A, b)
- n = length(A);
- for i = 1: n-1
- s = i;
- for k = i: n
- if abs(A(k, i)) > (A(s, i))
- s = k;
- end
- end
- A([s, i], :) = A([i, s], :);
- b([s, i]) = b([i,s]);
- for j = i+1:n
- k = A(j, i)./A(i, i);
- A(j, : ) = A(j, :) - k.*A(i, :)
- b(j) = b(j) - k.*b(i);
- end
- end
- X = b;
- for j=n:-1:1
- for i=n:-1:j+1
- X(j) = X(j) - X(i).*A(j, i);
- end
- X(j) = X(j)./A(j, j);
- end
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement