如何在对代码进行一些更改后修复 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
获取完全相同的变量直接使用
我需要从大量数据中生成相同的样本(相同的数据点),以便在我改变某些条件或参数时进行一些比较。但是,样本在每个 Matlab 运行 之后都会发生变化。我现在的采样是基于使用"randperm"或者不放回采样
如有任何帮助,我们将不胜感激。谢谢。
您可以使用rng()
设置随机样本生成种子。
例子
for ii=1:10
rng(1);
randperm(5)
end
正如@Ander 所指出的,您可以使用 rng
.
但是,如果您对数据进行了一次采样并需要多次重复使用该结果,您可能不想一遍又一遍地生成它。在那种情况下,您只想存储它。
如果您只是一次性使用所有代码,您可以将其分配给一个变量(例如:r = randperm(5)
),然后在每次需要时调用 r
。但是我怀疑你已经在这样做了,而且实际上正在寻找这样的东西:
save r
你明天可以跟进
load r
获取完全相同的变量直接使用