MATLAB 函数 rand
产生在区间 (0, 1)的均匀随机数,它是平均分布在
在(0,1)之间,我们可以使用一个称为seed的值来控制产生随机数的次数。均匀随机数函数有两种语法形式:rand(n)和rand(m,n)。其中,rand(n)会生成一个包含n*n个随机数的矩阵,而rand(m,n)会生成一个包含m*n个随机数的矩阵。需要注意的是,每次生成的随机数值都是不同的,这些值代表着随机且不可预测的结果,这也是我们使用随机数的目的所在。我们可以利用这些随机数来表示某段信号的不规则振幅或者某个事件发生的概率。均匀随机数具有将值平均分布在一个区间的特性,这一特性可以从其统计密度函数(probability density function)中看出。
PDF分布类似长条图的分布,说明了每个随机数值出现的机率相同,因此被称为均匀随机数(function, PDF)。
试一试 help rand
实现方法:首先使用rand()函数生成N个随机数,假设此时N个随机数的和是S,那么将每个随机数变为原来的M/S倍,这样就实现N个随机数的和是定值M的效果了。
A = rand(1,N); S = sum(A); B = A*M/S;
下面进行实例演示和详细讲解:产生9个和为定值10的随机数。
1、打开matlab软件,在命令窗口输入:A = rand(1,9),表示产生9个0~1之间的随机数,输出如下:
2、继续输入:S = sum(A); B = A*10/S ,表示将每个随机数变为到原来的10/sum(A)倍,此时的数组B即为所。输出结果如下:
3、为了验证一下得到的数组B的和是否为定值10,在命令窗口输入:sum(B),结果如下:
rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m*n的随机数矩阵 (现成的函数)
另外:
Matlab随机数生成函数
betarnd 贝塔分布的随机数生成器
binornd 二项分布的随机数生成器
chi2rnd 卡方分布的随机数生成器
exprnd 指数分布的随机数生成器
frnd f分布的随机数生成器
gamrnd 伽玛分布的随机数生成器
geornd 几何分布的随机数生成器
hygernd 超几何分布的随机数生成器
lognrnd 对数正态分布的随机数生成器
nbinrnd 负二项分布的随机数生成器
ncfrnd 非中心f分布的随机数生成器
nctrnd 非中心t分布的随机数生成器
ncx2rnd 非中心卡方分布的随机数生成器
normrnd 正态(高斯)分布的随机数生成器
poissrnd 泊松分布的随机数生成器
raylrnd 瑞利分布的随机数生成器
trnd 学生氏t分布的随机数生成器
unidrnd 离散均匀分布的随机数生成器
unifrnd 连续均匀分布的随机数生成器
weibrnd 威布尔分布的随机数生成器
以上是使用matlab生成一个介于0到1之间的随机小数的详细内容。更多信息请关注PHP中文网其他相关文章!