matlab中随机函数的具体使用方法

matlab中随机函数的具体使用方法如下:

rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数)

另外:

Matlab随机数生成函数

betarnd 贝塔分布的随机数生成器

binornd 二项分布的随机数生成器

chi2rnd 卡方分布的随机数生成器

exprnd 指数分布的随机数生成器

frnd f分布的随机数生成器

gamrnd 伽玛分布的随机数生成器

geornd 几何分布的随机数生成器

hygernd 超几何分布的随机数生成器

lognrnd 对数正态分布的随机数生成器

nbinrnd 负二项分布的随机数生成器

ncfrnd 非中心f分布的随机数生成器

nctrnd 非中心t分布的随机数生成器

ncx2rnd 非中心卡方分布的随机数生成器

normrnd 正态(高斯)分布的随机数生成器

poissrnd 泊松分布的随机数生成器

raylrnd 瑞利分布的随机数生成器

trnd 学生氏t分布的随机数生成器

unidrnd 离散均匀分布的随机数生成器

unifrnd 连续均匀分布的随机数生成器

weibrnd 威布尔分布的随机数生成器

rand

rand(n):生成0到1之间的n阶随机数方阵

rand(m,n):生成0到1之间的m×n的随机数矩阵

randn

randn()命令是产生白噪声的,白噪声应该是0均值,方差为1的一组数,同rand有randn(n),randn(m,n)

rand是0-1的均匀分布,randn是均值为0方差为1的正态分布

randint

randint(m,n,[1 N]):生成m×n的在1到N之间的随机整数矩阵,其效果与randint(m,n,N+1)相同。

>> randint(3,4,[1 10])

ans =

5  7  4  10

5  1  2  7

8  7  8  6

>> randint(3,4,11)

ans =

10  9  6  9

5  10  8  9

10  0  2  6

randperm

randperm(n):产生一个1到n的随机顺序。

>> randperm(10)

ans =

6  4  8  9  3  5  7  10  2  1

Matlab自带函数randperm(n)产生1到n的整数的无重复的随机排列,利用它就可以得到无重复的随机数。

function p = randperm(n);

原理:

1. rand(1, n)产生1行n列的0-1之内的随机数矩阵。

2. sort()把这个矩阵排序,返回的ignore是排序后的序列,p是排序后的序列的各数原来的索引,这个索引肯定是随机的,而且是在1到n间无重复的整数。

from:http://www.ymlib.net/article/sort010/info-241.html

你可能感兴趣的:(function,matlab)