-5
假设我有一个n×p矩阵,其列[a_1,...,a_p]。如何使用for循环返回此矩阵的所有可能列置换(例如:** [a_2,a_1,...,a_p]等)?MATLAB:计算矩阵的所有可能的列置换
假设我有一个n×p矩阵,其列[a_1,...,a_p]。如何使用for循环返回此矩阵的所有可能列置换(例如:** [a_2,a_1,...,a_p]等)?MATLAB:计算矩阵的所有可能的列置换
如果我理解正确的话,您可以生成列索引的所有排列与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
看看这个其他问题:生成元素的所有可能的组合一些向量(Cartesian产品)](http://stackoverflow.com/questions/4165859/generate-all-possible-combinations-of-the-elements-of-some-vectors-cartesian-pr) – Schorsch