matlab的rng函数的用法
看到很多人不理解matlab中rng函数的用法,在此介绍一下
操作方法
- 01
首先来看matlab的帮助文档, 第一行Control random number generation(控制随机数的代数,不知道这么翻译对不对,接着看) Syntax(句法的意思),介绍了几种常用的调用方式
- 02
rng(seed) seeds the random number generator using the nonnegative integer seed so that rand, randi, and randn produce a predictable sequence of numbers.(rng(种子)种子使用非负整数种子种子,使rand、randi和randn产生一个可预测的数字序列。) rng('shuffle') seeds the random number generator based on the current time. Thus, rand, randi, and randn produce a different sequence of numbers after each time you call rng.(rng('shuffle')种子基于当前时间生成随机数生成器。因此,兰德、randi和兰德在每次调用rng之后都会产生不同的数字序列。) 此处可以理解,因为电脑的随机数并不是像掷骰子一样和现实中一样随机,接着看
- 03
这一段就不翻译了,这里就可以看出电脑的随机数是利用了一些算法生成的,这里列出了七种算法
- 04
后面还有一部分也不翻译了,自己看很容易理解的
实验
- 01
帮助里有例子,我在下边又自己实验了一下
- 02
输入两次rand(2),结果不一样
- 03
输入rand(2)前加上rng(10,'twister'),这次就一样了,这里就应该理解的很清楚了