如何在Matlab中使用给定向量生成子空间?
例如,我有矢量$v_1 ,...,v_n$
;什么是Matlab中v_i
的跨度?
我怎样才能在这个子空间上投射每个向量的矩阵?
我的意思是,如何向Matlab提供一些向量并在向量范围上得到投影矩阵?
你能告诉我代码吗? 我是Matlab的新手,需要你的帮助。请帮帮我。
感谢。
答案 0 :(得分:0)
您可以使用QR decomposition获取v
列的正交化。然后投影矩阵是Q * Q':
[Q,R] = qr(v, 0); % "economy size" QR decomposition
proj_v = Q * Q';