matlab随机函数的种子状态的保存与恢复

时间:2022-02-10 07:10:31
        s = rng;
        [idx,~] = kmeans(Z1,ClusterNum);
        rng(s);


如上述代码所示,在使用matlab的kmeans函数的时候,原来的随机函数流被破坏,导致后续的随机序列发生改变,从而使得蒙特卡洛迭代得不到正确的结果,为了解决这个问题,我们需要保存当前的随机函数状态,在这里需要使用rng函数来获取当前随机种子状态。即

s = rng;

在调用完kmeans之后,使用

rng(s);

恢复随机种子状态。

matlab的参考文档如下:

matlab随机函数的种子状态的保存与恢复matlab随机函数的种子状态的保存与恢复