如何在MATLAB中生成保持平均值的正交矩阵?

时间:2014-04-03 00:12:23

标签: matlab orthogonal

我想在MATLAB中生成随机平均保留 标准正交 矩阵 A ,这样:

A * trans(A)= I,&& A * 1 = 1( 1 是所有数组等于1的向量)

我很感激任何建议。

1 个答案:

答案 0 :(得分:0)

我在这里找到答案:http://mathforum.org/kb/message.jspa?messageID=4575590

他们提出了以下功能:

function [U] = genU(m)
V1 = ones(m, 1) / sqrt(m);
[V, L] = svd(V1);
[Rm1, tmp] = qr(randn(m - 1, m - 1));
U = V * blkdiag(1, Rm1) * V';

m 是所需尺寸。