matlab:生成随机数

发布时间 2024-01-11 08:25:46作者: listjjjclove

rng

作用:控制随机数的产生(Control random number generation)
实例1:每次产生随机数(调用rand, randi, randn)前,指定随机数生成种子,则会产生相同的随机数。
方法:rng(seed),注意:seed为非负整数

rand

实例1:在(0, 1)区间按均匀分布生成随机数
方法:rand(sz1,..szN)

>> rand(1,3)

实例2:在任意(a, b)区间按均匀分布生成随机数
方法:rand(sz1,...szN)*(b-a)+a
比如生成(-10,10)区间内的均匀分布随机数:

>> rand(1,3)*20-10

randi

实例:在区间[a, b]按照均匀分布生成随机整数。
方法:randi([a, b], sz1,...szN)

randi([0,100],2,3)

randn

实例1:按照均值=0,标准差为1的正态分布生成随机数
方法:randn(sz1,...,szN)

实例2:按照均值=a,标准差为b的正态分布生成随机数
方法:b*randn(sz1,...,szN)+a

normrnd

normrnd(mu,sigma,[m,n,...])
按照均值=a,标准差为b的正态分布生成随机数

randsrc

实例:按自定义概率分布在样本池中进行随机抽样
方法:randsrc(m,n,[alphabet; prob])
alphabet为行向量,表示样本取值;prob为行向量,表示各元素的取值概率

 

>> res = randsrc(1,100,[20,70,90;0.1,0.7,0.2]);
>> hist(res)