matlab中unifrnd和rand()函数之间的区别

时间:2014-09-04 08:04:10

标签: matlab random

我对在区间[0,1]中使用rand()unifrnd()感到有点困惑。两者有何不同?这些来自Matlab教程的定义如下:

rand() - Uniformly distributed pseudorandom numbers 
unifrnd() - Continuous uniform random numbers  

1 个答案:

答案 0 :(得分:5)

我认为你的意思是unifrnd,(不是“unifrand”)。

unifrnd是统计工具箱的一部分,而rand是Matlab的基本功能。

unifrand只是rand的包装,它允许您指定其他参数来定义随机值的间隔({0,1]中的rand输出值)。您可以使用rand(a-b)*rand(...)+b执行相同的操作,其中ab是所需的时间间隔。在Matlab中输入open unifrnd以查看unifrnd的代码。

另一个不同之处在于,在最近的Matlab版本中,rand允许您指定生成的输出的数据类型:singledouble