概述
最近在matlab中使用了自带的随机函数randsample,但是发现最终的结果竟然不是随机的,每次结果都一样,后来发现Rand函数产生的随机数并不是真的现场算出来的,而是从一个随机数序列中取出来的。换句话说,第一次启动Matlab调用的第n次Rand函数与下一次启动调用的第n个Rand函数产生相同的数值。
为了使得每次结果不同,可以在rand函数(rand、randi、randsampe ...)前加上一行
rand('state',sum(100*clock));
但是matlab不推荐这种用法,因为以后的版本可能取消‘state'参数。所以可以使用 rng,例如
rng('shuffle')
详情可以输入 doc rng 看一下
最后
以上就是靓丽冷风为你收集整理的MATLAB随机数:重启后结果一样解决方法的全部内容,希望文章能够帮你解决MATLAB随机数:重启后结果一样解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复