A = [1 2 3 5 7 9
6 5 0 3 2 3]
我想隨機化矩陣列位置的位置;給B
像這樣:
B = [3 9 1 7 2 5
0 3 6 2 5 3]
我該怎麼做這個Matlab?
A = [1 2 3 5 7 9
6 5 0 3 2 3]
我想隨機化矩陣列位置的位置;給B
像這樣:
B = [3 9 1 7 2 5
0 3 6 2 5 3]
我該怎麼做這個Matlab?
嘗試
B = A(randperm(length(A)))
請查閱說明文檔。
你想使用randperm
函數生成列索引的隨機排列(從1到列數在A
),您可以再指數A
有:
B = A(:, randperm(size(A, 2)));
現在,代碼格式正確,很明顯OP要保留列,但randperm
仍然是HPM答案中最簡單的選項。
idx = randperm(size(A,2)); % Create list of integers 1:n, in random order,
% where n = num of columns
B = A(:, idx); % Shuffles columns about, on all rows, to indixes in idx
只需要20秒就能擊敗我! – Wolfie