我们说我有一个n x p矩阵,列 [a_1,...,a_p] 。如何使用for循环返回此矩阵的所有可能的列排列(例如:** [a_2,a_1,...,a_p]等**)?
答案 0 :(得分:1)
如果我理解正确,您可以使用perms
生成列索引的所有排列,并使用结果索引到矩阵中:
M = magic(3); % // example matrix
pp = perms(1:size(M,2)); % // each row is a permutation
for p = pp.' %'// "for" loops over columns, so transpose pp
permuted_M = M(:,p); % // matrix with permuted columns
end