function [Q,R] = househ(A)
%QR-Zerlegung mit Householder
[m,n]=size(A);
Q = eye(m);
D = eye(m);
p = min(m-1,n);
for k=1:p
%untermatrix erstellen / define sub-matrix
x = A(:,k);
if k == 1
x = A(:,k);
elseif k <= p
for i = 1:(k-1)
x(i) = 0;
end
else
continue
end
%Formeln aus dem Buch / equation of the book
a = -sign(A(k,k))*norm(x);
v = x - a*D(:,k);
H = D-2*(v*v')/(v'*v);
% ---------------------------------
if k == 1
Q=H;
else
Q = Q*H;
end
A=H*A;
end
A(find(A==-0))=0; % unnecessary
R=A;
Q=Q';
end
Here u can see my Householder transformation. The Code under the hyphens is wrong but I don´t know why ... can someone help me.

Antworten (1)

Monisha Nalluru
Monisha Nalluru am 18 Sep. 2020

0 Stimmen

Refer to this blog post which explains on Household Refelection and Household QR factorization with sample code for understanding.

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2020a

Gefragt:

am 26 Aug. 2020

Kommentiert:

am 28 Apr. 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by