2014-04-28 58 views

回答

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] 
+0

想我們不得不對同樣的解決方案,我將'randperm'切換到另一側以引入至少一點變化。 –

+0

謝謝丹尼斯,這正是我正在尋找的兩個答案其實 – user2011560

+0

@DennisJaheruddin是的,沒有太多的變化使用:-) +1也對你 –

1

也許就是這樣簡單:

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

是的,你是對的,它顯然是漂亮的簡單,謝謝你的幫助 – user2011560