分享

matlab随机数

 Ethan的博客 2011-08-14

matlab随机数  

2010-03-31 17:26:59|  分类: 默认分类 |  标签: |字号 订阅

rand(n):生成01之间的n阶随机数方阵 rand(m,n):生成01之间的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):生成01之间的n阶随机数方阵

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

randn

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

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

randint

randint(m,n,[1 N]):生成m×n的在1N之间的随机整数矩阵,其效果与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):产生一个1n的随机顺序。

>> randperm(10)

ans =

     6     4     8     9     3     5     7    10     2     1

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

function p = randperm(n);

%RANDPERM Random permutation.

% RANDPERM(n) is a random permutation of the integers from 1 to n.

% For example, RANDPERM(6) might be [2 4 5 6 1 3].

%

% Note that RANDPERM calls RAND and the

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);

%RANDPERM Random permutation.

% RANDPERM(n) is a random permutation of the integers from 1 to n.

% For example, RANDPERM(6) might be [2 4 5 6 1 3].

%

% Note that RANDPERM calls RAND and therefore changes RAND's state. %

% See also PERMUTE. % Copyright 1984-2002 The MathWorks, Inc.

% $Revision: 5.10 $ $Date: 2002/04/09 00:26:14 $

[ignore,p] = sort(rand(1,n));

原理:

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

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

% See also PERMUTE. % Copyright 1984-2002 The MathWorks, Inc.

% $Revision: 5.10 $ $Date: 2002/04/09 00:26:14 $

[ignore,p] = sort(rand(1,n));

原理:

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多