Случайный порядок строк Matlab Скажем, у нас есть матрица размером 100x3 Как бы вы перетасовали строки в MATLAB? Ответ 1 Чтобы перетасовать строки матрицы, вы можете использовать RANDPERM shuffledArray = orderedArray(randperm(size(orderedArray,1)),:); randperm будет генерировать список N случайных значений и сортировать их, возвращая второй результат sort в качестве результата. Ответ 2 Это можно сделать, создав новый случайный индекс для строк матрицы через функцию Matlab randsample. matrix=matrix(randsample(1:length(matrix),length(matrix)),:); Ответ 3 Для больших наборов данных вы можете использовать функцию Shuffle Он использует D.E. Алгоритм Knuth shuffle (также называемый Fisher-Yates) и симпатичный генератор случайных чисел KISS (Г. Марсалья).
Ответ 1 Чтобы перетасовать строки матрицы, вы можете использовать RANDPERM shuffledArray = orderedArray(randperm(size(orderedArray,1)),:); randperm будет генерировать список N случайных значений и сортировать их, возвращая второй результат sort в качестве результата.
Ответ 2 Это можно сделать, создав новый случайный индекс для строк матрицы через функцию Matlab randsample. matrix=matrix(randsample(1:length(matrix),length(matrix)),:);
Ответ 3 Для больших наборов данных вы можете использовать функцию Shuffle Он использует D.E. Алгоритм Knuth shuffle (также называемый Fisher-Yates) и симпатичный генератор случайных чисел KISS (Г. Марсалья).