matlab 的内置函数 rand返回的是 0-1 区间上的均匀分布,rand的参数多是用于设置返回的矩阵的维度大小。

如果要得到 (a, b) 区间上的均匀分布,只需对其做简单的线性变换即可:

a+(ba)rand

当然对于区间关于 y 轴对称的均匀分布((a,a))有可进一步化简为:

a+(a(a))rand=a(2rand1)=(rand12)2a

  • (-5, 5):-5+(5-(-5))*rand, (2*rand-1)*5
  • (-x, x):-x+(x-(-x))*rand, (2*rand-1)*x
posted on 2017-03-01 11:49  未雨愁眸  阅读(580)  评论(0编辑  收藏  举报