我有細胞的細胞嵌套像下面的一個:選擇:Matlab的
CellArray={1,1,1,{1,1,1,{1,1,{1,{1 1 1 1 1 1 1 1}, 1,1},1,1},1,1,1},1,1,1,{1,1,1,1}};
我需要隨機選擇在CellArray
的位置。 CellArray
的所有成員的位置在隨機選擇過程中必須具有相同的機會。謝謝。
我有細胞的細胞嵌套像下面的一個:選擇:Matlab的
CellArray={1,1,1,{1,1,1,{1,1,{1,{1 1 1 1 1 1 1 1}, 1,1},1,1},1,1,1},1,1,1,{1,1,1,1}};
我需要隨機選擇在CellArray
的位置。 CellArray
的所有成員的位置在隨機選擇過程中必須具有相同的機會。謝謝。
您可以捕獲celldisp
函數的輸出。然後使用正則表達式來extrcat指數:
s=evalc('celldisp(CellArray,'''')');
m = regexp(s, '\{[^\=]*\}', 'match');
結果:
m =
{
[1,1] = {1}
[1,2] = {2}
[1,3] = {3}
[1,4] = {4}{1}
[1,5] = {4}{2}
[1,6] = {4}{3}
[1,7] = {4}{4}{1}
[1,8] = {4}{4}{2}
[1,9] = {4}{4}{3}{1}
[1,10] = {4}{4}{3}{2}{1}
[1,11] = {4}{4}{3}{2}{2}
[1,12] = {4}{4}{3}{2}{3}
[1,13] = {4}{4}{3}{2}{4}
[1,14] = {4}{4}{3}{2}{5}
[1,15] = {4}{4}{3}{2}{6}
[1,16] = {4}{4}{3}{2}{7}
[1,17] = {4}{4}{3}{2}{8}
[1,18] = {4}{4}{3}{3}
[1,19] = {4}{4}{3}{4}
[1,20] = {4}{4}{4}
[1,21] = {4}{4}{5}
[1,22] = {4}{5}
[1,23] = {4}{6}
[1,24] = {4}{7}
[1,25] = {5}
[1,26] = {6}
[1,27] = {7}
[1,28] = {8}{1}
[1,29] = {8}{2}
[1,30] = {8}{3}
[1,31] = {8}{4}
}
使用randi
選擇索引:
m{randi(numel(m))}
你可能會發現這個問題和[**之前的一個** **]之間的輕微連接(https://stackoverflow.com/questions/45665684/finding-number-of-all-nested-cells-in-a -complex-cell) – Amin
什麼是隨機位置的一些例子? – rayryeng
你的意思是每個'1'應該有相同的選擇機會,按照所示的樣本數組? – crazyGamer