Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function ov442cp3(A)
- [m,n] = size(A);
- arr = cell(1, n);
- R = zeros(m,n);
- x = A(:,1);
- w = zeros(length(x), 1);
- w(1) = norm(x);
- v = w - x;
- P = (v*transpose(v))/(transpose(v)*v);
- I = eye(size(P));
- Z = zeros(size(P));
- H = I - 2*P;
- arr{1} = H;
- R = R + H*A;
- for j=2:1:n
- x = R(j:m,j);
- w = zeros(length(x), 1);
- w(1) = norm(x);
- v = w - x;
- Z = zeros(size(H));
- if(v~=0)
- P = (v*transpose(v))/(transpose(v)*v);
- Z(j:m,j:m) = P(1:size(P),1:size(P));
- end
- H = I - (2*Z);
- R = cell2mat(arr(1))*A;
- arr{j} = H;
- for i=2:1:j
- R = cell2mat(arr(i))*R;
- end
- end
- Q = cell2mat(arr(1));
- for i=2:1:length(arr)
- Q = Q * cell2mat(arr(i));
- end
- Q
- R
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement