MATLAB笔记-rand()函数

一、基本用法。

  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. 使用归一化的映射技巧与整数转换来实现具体需求。

上一篇:【优化求解】基于加权变异的粒子群优化算法(WVPSO) matlab源码


下一篇:随机化算法