特定范围内的随机数
本示例显示如何基于开区间 (50, 100) 内的均匀分布创建随机浮点数组。
在默认情况下,rand
返回均匀分布的归一化值(0 和 1 之间)。要将分布的范围改变为新范围,,应将各值乘以新范围的宽度,,然后用 替换各值。
首先,初始化随机数生成器,以使本示例中的结果具备可重复性。
rng(0,'twister');
创建一个 1000 个随机值的向量。使用 rand
函数从开区间 (50,100) 抽取均匀分布的值。
a = 50; b = 100; r = (b-a).*rand(1000,1) + a;
验证 r
中的数值是否在指定范围内。
r_range = [min(r) max(r)]
r_range = 1×2
50.0261 99.9746
结果是处于开区间(50、100)内。
请注意, 和 的某些组合在理论上可使得到的结果包括 或 。在实际中,这种情况极难出现。