我正在嘗試編寫一個程序來獲取一個mxn矩陣,QR將其分解。Matlab QR housefooter factorisation incorrect output
尚未完成,但我遇到了問題。 我試着運行我的程序與維基百科http://en.wikipedia.org/wiki/QR_decomposition
A=[12,-51,4;6,167,-68;-4,24,-41]
他們所謂的Q1,Q2所示的例子......我叫QTEMP。每次我計算Qtemp,我打印它,以便看到我得到與維基百科相同的結果。對於第一季我做,但對於第二季我沒有。
他們的Q2和我的價值相同,但標誌不同。他們有一個+我有一個 - ,他們有一個 - ,我有一個+。
這是我的代碼:
Q=eye(m);
R=A;
for i=1:min(m-1,n)
ei=zeros(n,1);
ei(i,1)=1;
x=A(:,i);
for j=1:i-1
x(j,1)=0;
end
u=x-norm(x)*ei;
v=u/norm(u);
Qtemp=eye(m)-2*(v*v');
A=Qtemp*A;
disp(Qtemp);
end
我真的只是複製他們的算法,並將其翻譯成代碼,但仍然很糟糕輸出第二QTEMP。
任何原因你的矩陣的A(1,1)是15,維基百科的那個在那個位置有12? – horchler
是的,印刷錯誤。我用正確的一個來測試我的代碼。現在修復了這個帖子。 –