标签: matlab random
我对在区间[0,1]中使用rand()和unifrnd()感到有点困惑。两者有何不同?这些来自Matlab教程的定义如下:
rand()
unifrnd()
rand() - Uniformly distributed pseudorandom numbers unifrnd() - Continuous uniform random numbers
答案 0 :(得分:5)
我认为你的意思是unifrnd,(不是“unifrand”)。
unifrnd
unifrand
unifrnd是统计工具箱的一部分,而rand是Matlab的基本功能。
rand
unifrand只是rand的包装,它允许您指定其他参数来定义随机值的间隔({0,1]中的rand输出值)。您可以使用rand对(a-b)*rand(...)+b执行相同的操作,其中a和b是所需的时间间隔。在Matlab中输入open unifrnd以查看unifrnd的代码。
(a-b)*rand(...)+b
a
b
open unifrnd
另一个不同之处在于,在最近的Matlab版本中,rand允许您指定生成的输出的数据类型:single或double。
single
double