Matlab,随机更改单元格数组中的顺序

时间:2014-04-28 11:18:28

标签: arrays matlab random cell

是否可以随函数随机更改单元格数组的顺序,还是应该采用其他方式?

2 个答案:

答案 0 :(得分:2)

使用randperm

>> myCell = {'a', 23, [3 4 5], 'bbb'}
myCell = 
    'a'    [23]    [1x3 double]    'bbb'

>> myCell(:) = myCell(randperm(numel(myCell)))
myCell = 
    'bbb'    'a'    [1x3 double]    [23]

这也适用于n维单元格数组:

>> myCell = {1, 2; 'a', 'b'}
myCell = 
    [1]    [2]
    'a'    'b'

>> myCell(:) = myCell(randperm(numel(myCell)))
myCell = 
    [1]    'a'
    'b'    [2]

答案 1 :(得分:1)

也许这很简单:

x = {10,11,12}
x(randperm(3))=x