matlab関数をRに変換することについて質問があり、誰かが助けてくれることを期待していました。Rとmatlabのqr関数
matlabとRの両方で使用される標準QR分解はqr()と呼ばれます。私の理解に、両方の言語で、QR分解を行うための標準的な方法は次のとおりです。
Matlabの:
z <- qr(A)
Q <- qr.Q(z)
R <- qr.R(z)
を私に提供どちらも: [Q,R] = qr(A)
QRは
Rを=満たします同じ結果、残念ながら、これは私が必要なものではありません。私は必要がこれです:
Matlabの:、E: [Q、R、E]はeは置換ベクターである、経済サイズ分解生成QR(A、0)を= A(そのよう)= Q * Rとなる。
R: 手掛かり
Iはを比較しようとしている[Q、R、E]は
z <- qr(A);
Q <- qr.Q(z);
R <- qr.R(z);
E <- diag(ncol(A))[z$pivot]
とQR(A)を=その結果を(変数Q及びEに対して同一に見えるが、 Rとは異なる)。したがって、定義された入力/出力に応じて、異なる結果が得られます(意味があります)。
だから私の質問は次のとおりです。 この[Q、R、E]は、MATLABでQR(A、0)=模倣することができますRにおける方法はありますか?
私はmatlab関数を掘り下げようとしましたが、無限の関数定義の長い道のりにつながりました。もっと良い解決策を望んでいました。
何か助けていただければ幸いです。私が何か明白なことを見逃してしまった場合は、お詫び申し上げます。