我想在 MATLAB 中生成随机均值保持 正交矩阵A,这样:
A*trans(A) = I, && A*1=1 ( 1是所有数组都等于 1 的向量)
我将不胜感激任何建议。
我想在 MATLAB 中生成随机均值保持 正交矩阵A,这样:
A*trans(A) = I, && A*1=1 ( 1是所有数组都等于 1 的向量)
我将不胜感激任何建议。
我在这里找到了答案: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是所需的尺寸。