![真随机数!基于matlab读取系统时间 matlab 系统时间](http://img.aihuau.com/images/01111101/01053826t018cfb0d158fc660cd.png)
matlab能知道现在是几点钟吗?能知道现在的日期吗? 可以通过调用几个特殊字符来实现哦~还能因此生成真随机数1.基于系统时间的真随机数1.1伪随机数 先给个说明,matlab的随机数是伪随机数,比如你输入rand,输出一个数 你关掉matlab,再开,再输入rand,出来的还是这个数。。。晕了吧。。。 伪随机数,实际上是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征。这样的发生器叫做伪随机数发生器。 其实matlab的随机数原理是有一组已经生成的伪随机数,可以用seed来说明: 输入rand('seed',0),就是调用第零个seed的伪随机数!1.2真随机数 如何变成真随机数呢?只要把seed的序号,变成和系统时间有关就行了嘛!比如现在是凌晨一点,就嗲用第一个seed,凌晨两点就调用第二个seed1.3clock的使用 如何获得系统时间,输入clock,系统会返回给你一个向量,向量里有六个元素,看看熟悉不,第一个元素是2012吧~没错,就是年月日时分秒!temp=clock;temp=sum(temp(4:6))*sum(temp(2:3));temp=round(temp/10);rand('seed',temp);以上这段代码就是所谓的真随机数啦!注意:直接写clock(1)会报错,因为clock可以说是个命令,而非变量名~
2.其他关于系统时间的命令date返回值是一个字符串,为年月日now返回值是一个一维double矩阵,目测为秒数