
Untitled
By: a guest on
May 7th, 2012 | syntax:
None | size: 0.68 KB | hits: 17 | expires: Never
function x = PR_Inv(A)
% Functia care calculeaza inversa matricii A folosind factorizari Gram-Schmidt
% Se va inlocui aceasta linie cu descrierea algoritmului de inversare
N = length(A);
for i = 1:N
R(i, i) = norm(A(1:N, i));
Q(1:N, i) = A(1:N, i) / R(i, i);
for j = i+1:N
R(i, j) = Q(1:N, i)' * A(1:N, j);
A(1:N, j) = A(1:N, j) - Q(1:N, i) * R(i, j);
endfor
endfor
[N, N] = size(R);
I = eye(N);
for k = 1:N
x = zeros(N, 1);
b(1:N) = I(:, k);
x(N) = b(N) / R(N, N);
for i = N-1:-1:1
x(i) = ( b(i) - R(i, i+1:N)*x(i+1:N))/R(i, i);
endfor
Rinv(1:N, 1) = x;
endfor
for i = 1:N
Qinv = Q';
endfor
B = Qinv * Rinv;
endfunction