如何在对代码进行一些更改后修复 Matlab 中随机生成的样本

How to fix a randomly generated sample in Matlab after making some changes to the code

我需要从大量数据中生成相同的样本(相同的数据点),以便在我改变某些条件或参数时进行一些比较。但是,样本在每个 Matlab 运行 之后都会发生变化。我现在的采样是基于使用"randperm"或者不放回采样

如有任何帮助,我们将不胜感激。谢谢。

您可以使用rng()设置随机样本生成种子。

例子

for ii=1:10
   rng(1);
   randperm(5)
end

正如@Ander 所指出的,您可以使用 rng.

强制执行可重现的随机性

但是,如果您对数据进行了一次采样并需要多次重复使用该结果,您可能不想一遍又一遍地生成它。在那种情况下,您只想存储它。

如果您只是一次性使用所有代码,您可以将其分配给一个变量(例如:r = randperm(5)),然后在每次需要时调用 r。但是我怀疑你已经在这样做了,而且实际上正在寻找这样的东西:

save r 

你明天可以跟进

load r

获取完全相同的变量直接使用