matlab中怎么产生离散的均匀随机数?

2023-10-27 01:55

2023-10-27 03:34
rand(x)是生成1以内的随机数
你可以让它*你需要数的范围
更多回答
以产生0-1上均匀分布的随机数为例:
方法1、对于问题,兄滑蚂如果 Y 是m*n的服从0~1均匀分布的随机矩阵:
Y = rand(m,n);

方法2、用统计工具箱,Y = unifrnd(0,1,m,n).

另外,提供常用的函数分布供参羡埋考:
1、 均匀分布U(a,b)
产生m*n阶[a,b]均匀分布U(a,b)的随机数矩阵:unifrnd (a,b,m, n)

2、0-1分布U(0,1)
产生m*n阶[0,1]均匀分布的随机数矩阵:rand (m, n)

3、二类分布binornd(N,P,mm,nn),即产生mm*nn均值为N*P的矩阵
4、产生m*n阶离散均匀分布的随机数矩阵:
unidrnd(N,mm,nn) 产生一个数值在1-N区间的mm*nn矩阵;
5、产生mm nn阶期望值让闷为 的指数分布的随机数矩阵:exprnd ( ,mm, nn).
unidrnd可以产生离散的均匀随机数,其实在新版的matlab中支持模糊查询,在command窗口中手罩输入uni然后按下Tab键,所有以uni开头的晌敬函毕谨闹数都会列出来!