赞
踩
需求:以{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是每个数对应的概率
大家在用的时候还可以通过’help randsrc’指令调取相关的帮助文档查阅。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。