一、基本用法。
rand()函数生成元素为均匀分布在(0, 1)上的随机实数的数组,数组的规格由参数决定。
1. rand(n)
rand(n)生成n阶方阵。
• 参数缺省:rand()相当于rand(1).
2. rand(m, n)
rand(m, n)或rand([m, n])生成m*n阶矩阵。
3. rand(m, n, p, ...)
rand(m, n, p, ...)或rand([m, n, p, ...])生成m*n*p*...阶的多维数组。
4. rand(size(A))
rand(size(A))生成规格与A相同的数组,因为size(A)是表示A的规格的行向量。
二、应用。
1. 生成(a, b)范围内的随机数组:
>> a + ( b - a ) * rand( ... )
2. 生成每个元素在(A(i, j, k, ... ), B(i, j, k, ...))范围内的随机数组;
>> A + ( B - A ) .*rand( ... )
3. 生成整数随机数组:
先生成随机实数数组,再转化为整数数组。
常用转化函数:
round() 四舍五入 ceil() 向上取整 floor() 向下取整
三、 总结。
1. rand()函数以一个表示数组规格的行向量为参数,输出对应规格的归一化随机数组。参数数组的元素要求为自然数。
2. 若参数行向量维数为1,即为自然数,则生成对应阶方阵(而非列向量)。
3. 若参数缺省,则默认参数为1,生成(0, 1)上的随机实数。
4. 使用归一化的映射技巧与整数转换来实现具体需求。