在Matlab中使用固定顺序的先前元素生成逐步排列

时间:2012-10-01 08:58:55

标签: matlab permutation

我想逐步进行数字排列, 首先决定是[1 2]还是[2 1],然后如果[2 1]被接受,则决定3的位置,即

[3 2 1] or [2 3 1] or [2 1 3]. 

换句话说,在每个步骤中,前一个数字的位置是固定的([2 1]是固定的)。 我怎样才能在每一步中产生这样的排列?

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

n = 10; % intended length of result    
result = 1;
for k = 2:n
    id = randi(k);
    result = [result(1:id-1) k result(id:end)];
end