MATLAB 随机数
MATLAB随机数生成器
使用rand, randn和randi函数来创建伪随机数序列,并使用randperm函数来创建随机排列的整数向量。使用rng函数来控制结果的可重复性。当需要对随机数生成进行更高级的控制时,使用RandStream类。
创建随机数
函数 | 描述 |
---|---|
rand | 均匀分布随机数 |
randn | 正态分布随机数 |
randi | 均匀分布的伪随机整数 |
randperm | 整数的随机排列 |
定义生成器参数
参数 | 描述 |
---|---|
rng | 控制随机数发生器 |
RandStream | 随机数流 |
默认随机数
默认情况下,rand返回从均匀分布中提取的规范化值(介于0和1之间),比如:
>> rand
ans =
0.8147
>> rand
ans =
0.9058
特定范围内的随机数
要将分布的范围更改为新的范围(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) 内 。
评论已关闭,相关问题请到社区本站新建的社区讨论
对给您造成的不便表示抱歉!