Вы можете управлять генерацией случайных чисел в MATLAB, используя функцию rng
.С его помощью вы можете зафиксировать состояние генератора случайных чисел перед запуском вашего кода, а затем снова установить генератор случайных чисел в это состояние, прежде чем запускать его снова, гарантируя, что вы получите те же результаты.Например:
rngState1 = rng; % Capture state before processing data1
result1 = kmeans(data1, 4);
rngState2 = rng; % Capture state before processing data2
result2 = kmeans(data2, 4);
...
rng(rngState1); % Restore state previously used for processing data1
r1 = kmeans(data1,4);
...
rng(rngState2); % Restore state previously used for processing data2
r2 = kmeans(data2,4);
Поскольку вы обрабатываете данные в отдельных файлах, это может означать сохранение и загрузку переменных состояния в и из MAT-файла для выполнения того, чтообрисовано в общих чертах выше.Другой вариант - просто установить начальное значение для заданного значения перед обработкой каждого набора данных:
rng(1); % Set seed to 1 for data1
result1 = kmeans(data1, 4);
rng(2); % Set seed to 2 for data2
result2 = kmeans(data2, 4);
...
rng(1);
r1 = kmeans(data1,4);
...
rng(2);
r2 = kmeans(data2,4);