0

我想在 MATLAB 中生成随机均值保持 正交矩阵A,这样:

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

我将不胜感激任何建议。

4

1 回答 1

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是所需的尺寸。

于 2014-04-03T03:52:11.503 回答