MATLAB以指定概率⽣成⼀定范围内的随机数
需求:以{Pi|i=1,…n}, Sigma{Pi|i=1,…n} = 1的概率⽣成随机数x,x属于集合{vi|i=1,…n}.
代码:
x = randsrc(1,1,[vi;pi]);
如果要⽣成的随机数是⼀个m*n的矩阵,则:
x = randsrc(m,n,[vi;pi]);
使⽤的随机函数为randsrc(m,n,[alphabet; prob]).
tips:
注意表达式中的符号,第⼀次我把’;‘搞成’,'了,出现了莫名其妙的错误,有时候可以成功⽣成随机数,有时候就不对,给我查了⽼半天。
附:
随机数在MATLAB中还是很重要的⼀系列函数,⼏个重要函数分别解释如下:
1.rand - [0,1]均匀随机分布
Au=rand(1, 5) %0-1均匀分布的1x5随机矩阵
2.randi - 整数均匀随机分布
Ai=randi([-3, 4], 2, 8) %-3到4均匀分布的2x8随机矩阵
3.randn - 标准正态分布
An = randn(3, 4) %标准正态分布的3x4矩阵
4.randsrc - ⽣成指定范围的随机数
out = randsrc(5, 5, [-3 -1 1 3; .25 .25 .25 .25])
% 在-3 1 1 3四个数中随机选⽣成5x5的矩阵,后⾯的0.25是每个数对应的概率
matlab生成随机数⼤家在⽤的时候还可以通过’help randsrc’指令调取相关的帮助⽂档查阅。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。