在默认情况下,rand
返回均匀分布的归一化值(0 和 1 之间)。要改变分布的范围(a、b),应将各值乘以新范围的宽度(b – a),然后用 a 替换各值。
首先,初始化随机数生成器,以使本示例中的结果具备可重复性。
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 = 50.0261 99.9746
结果是处于开区间(50、100)内。
a 和 b 的某些组合在理论上可使得到的结果包括 a 或 b。在实际中,这种情况极难出现。
联系客服