matlab能知道现在是几点钟吗?能知道现在的日期吗?
可以通过调用几个特殊字符来实现哦~还能因此生成真随机数
1.基于系统时间的真随机数
1.1伪随机数
先给个说明,matlab的随机数是伪随机数,比如你输入rand,输出一个数
你关掉matlab,再开,再输入rand,出来的还是这个数。。。晕了吧。。。
伪随机数,实际上是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征。这样的发生器叫做伪随机数发生器。
其实matlab的随机数原理是有一组已经生成的伪随机数,可以用seed来说明:
输入rand('seed',0),就是调用第零个seed的伪随机数!
1.2真随机数
如何变成真随机数呢?只要把seed的序号,变成和系统时间有关就行了嘛!比如现在是凌晨一点,就嗲用第一个seed,凌晨两点就调用第二个seed
1.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矩阵,目测为秒数
没有评论:
发表评论