s = rng; [idx,~] = kmeans(Z1,ClusterNum); rng(s);
如上述代码所示,在使用matlab的kmeans函数的时候,原来的随机函数流被破坏,导致后续的随机序列发生改变,从而使得蒙特卡洛迭代得不到正确的结果,为了解决这个问题,我们需要保存当前的随机函数状态,在这里需要使用rng函数来获取当前随机种子状态。即
s = rng;
在调用完kmeans之后,使用
rng(s);
恢复随机种子状态。
matlab的参考文档如下:
s = rng; [idx,~] = kmeans(Z1,ClusterNum); rng(s);
如上述代码所示,在使用matlab的kmeans函数的时候,原来的随机函数流被破坏,导致后续的随机序列发生改变,从而使得蒙特卡洛迭代得不到正确的结果,为了解决这个问题,我们需要保存当前的随机函数状态,在这里需要使用rng函数来获取当前随机种子状态。即
s = rng;
在调用完kmeans之后,使用
rng(s);
恢复随机种子状态。
matlab的参考文档如下: