matlab随机函数

目录

1. randsrc    无参数随机输出-1或1。有参数,按照概率输出m*m或m*n阶矩阵

2. rand       随机产生0—1中某一数

3. randint    无参数随机输出0或1。有参数,按照概率输出m*m或m*n阶矩阵

4. randperm    返回从1到n随机分布的整数序列,长度为n,如果需要重复多次出现,可用:randi(n,1,k)

                       randperm(10,k)+n;%k是变量个数,生成(n+1)~(10+n)中k个不重复数

5. intersect   intersect(A,B),A,B为向量,返回A,B中相同的元素,并且排序后输出

                     intersect(A,B,'rows'),A,B需为相同列的矩阵,返回他们相同的行

6. cumsum    累积和,累积量

7. rectpuls

1. randsrc
out = randsrc

out = randsrc(m)        % m*m阶矩阵

out = randsrc(m,n)     % 输出m*n阶

out = randsrc(m,n,alphabet)

out = randsrc(m,n,[alphabet; prob])

out = randsrc(m,n,...,state);

无参数,则随机输出-1或1。

有参数,输出m*m或m*n矩阵,按照1/2的概率随机分布-1和1,如果有alphabet向量参数,则按照同样的概率输出由该参数确定的数字(alphabet向量中的每个项都以相等的概率出现)。

再有prob参数,确定每一个数字的出现概率。

   

 
2. rand
而rand是随机产生0—1中某一数

 
3. randint
out = randint

out = randint(m)

out = randint(m,n)

out = randint(m,n,rg)

out = randint(m,n,rg,state)

描述同上。但是无参数的话随机输出0或1。有参数,按照同样概率输出m*m或m*n阶矩阵。如有rg参数,则按照同样概率随机输出[0,rg-1](rg>0)或[rg+1,0](rg<0)或[min,max](rg为两个元素的向量)之间的数字。

 
4. randperm
p = randperm(n)返回从1到n随机分布的整数序列,长度为n。

p = randperm(n,k) 返回一行从1到n的整数中的k个,而且这k个数也是不相同的。

randperm返回不重复的重排采样(k-permutations)。

 

如果需要重复多次出现,可用:randi(n,1,k)。

 

其他:

5. intersect
intersect(A,B),A,B为向量,返回A,B中相同的元素,并且排序后输出。

intersect(A,B,'rows'),A,B需为相同列的矩阵,返回他们相同的行。

[c, ia, ib] = intersect(...);将相同元素的索引index输出到ia,ib中。

 

6. cumsum
B = cumsum(X);  求向量X中元素的累积和,如果X为矩阵,则按列求累积量.

B = cumsum(X,dim);  按dim给定的维度求累积量。

例如:B = cumsum(X,1)返回的是沿着第一维(各列)的累加和,cumsum(X,2)返回的是沿着第二维(各行)的累加和。

 

相关函数:cumprod, prod, sum

sum 函数

eg.

 

7. rectpuls
rectpuls(T);  以零为中心宽度为1的方波,区间为左闭右开区间,即rectpuls(-0.5) = 1;而rectpuls(0.5) = 0;

rectpuls(T,W) generates a rectangle of width W.

 

转自https://www.jianshu.com/p/825ddb8e59ec

一、rand ():生成(0,1)区间上均匀分布的随机变量

rand(5,1) %生成随机数排列的列向量。

rand(5)%生成5行5列的随机矩阵。

rand(5,2)%生成5行2列的随机矩阵。

x=rand(10000,1);

hist(x);%绘图,生成随机数的分布

 

二、randn ():生成(0,1)区间上正态分布的随机变量

randn(5,1)%生成随机数排列的列向量

randn(5)%生成5行5列的随机矩阵。

randn(5,2)%生成5行2列的随机矩阵。

x=randn(10000,1);

hist(x);%绘图,生成随机数的分布

 

三、连续型分布随机函数

unifrnd ():生成某个区间上均匀分布的随机变量

unifrnd(-2,3,5,1)%在(-2,3)区间内生成一列随机变量

unifrnd(-2,3,5)%在(-2,3)区间内生成5行5列的随机变量

unifrnd(-2,3,5,2)%在(-2,3)区间内生成5行2列的随机变量

x=unifrnd(-2,3,100000,1);

hist(x,50)%绘图,生成随机数的分布

normrnd ():生成指定均值,标准差的正态分布的随机变量

normrnd(2,3,5,1)%生成指定均值为2,标准差为3的正态分布的5行1列随机变量

normrnd(2,3,5)%生成指定均值为2,标准差为3的正态分布的5行5列的随机变量

normrnd(2,3,5,2)%生成指定均值为2,标准差为3的正态分布的5行2列的随机变量

x=unifrnd(-2,3,100000,1);

hist(x,50)%绘图,生成随机数的分布

chi2rnd():生成的随机数服从自由度为v的卡方分布

chi2rnd(5,5,1)%生成服从自由度为5的卡方分布的5行1列随机变量

chi2rnd(5,5)%生成服从自由度为5的卡方分布的的5行5列的随机变量

chi2rnd(5,5,2)%生成服从自由度为5的卡方分布的5行2列的随机变量

x=chi2rnd(5,100000,1);

hist(x,50)%绘图,生成随机数的分布

frnd():生成的随机数服从参数为w,v的t分布

frnd(3,5,5,1)%生成服从参数为(3,5)的f分布的5行1列随机变量

frnd(3,5,5)%生成服从参数为(3,5)的f分布的的5行5列的随机变量

frnd(3,5,5,2)%生成服从参数为(3,5)的f分布的5行2列的随机变量

x=frnd(3,5,10000,1);

hist(x,50)%绘图,生成随机数的分布

trnd():生成的随机数服从参数为v的t分布

trnd(5,5,1)%生成服从参数为5的t分布的5行1列随机变量

trnd(5,5)%生成服从参数为5的t分布的的5行5列的随机变量

trnd(5,5,2)%生成服从参数为5的t分布的5行2列的随机变量

x=trnd(5,100000,1);

hist(x,50)%绘图,生成随机数的分布

同理:

betarnd()%生成服从参数为(w,v)的Beta分布的随机数

exprnd() %生成服从参数为mu的指数分布的随机数

gamma()%生成服从参数为(w,v)的Gamma分布的随机数

lognrd()%生成服从参数为(mu,sigma)的对数正态分布的随机数

raylrnd()%生成服从参数为w的瑞利分布的随机数

wblrnd()%生成服从参数为(scale,shape)的对数正态分布的随机数

......

 

四、离散型分布随机函数

unidrnd()%生成服从离散均匀分布的随机数

unidrnd(5,5,1) %生成一列随机变量

unidrnd(5,5) %生成5行5列的随机变量

unidrnd(5,5,2) %生成5行2列的随机变量

x=unidrnd(9,100000,1);

hist(x,9) %绘图,生成随机数的分布

binornd() %生成的随机数服从参数为(N,p)的二项分布

binornd(10,0.3,5,1)%生成5个随机数排列的列向量

%注:上述语句生成的随机数所服从的参数为(10,0.3)的二项分布 

binornd(10,0.3,5) %生成5行5列的随机数矩阵 

%注:上述语句生成的随机数所服从的参数为(10,0.3)的二项分布 

binornd(10,0.3,[5,2])%生成一个5行2列的随机数矩阵

%注:上述语句生成的随机数所服从的参数为(10,0.3)的二项分布 

x=binornd(10,0.45,100000,1);

hist(x,11);%绘图,生成随机数的分布

geornd()%此函数生成服从几何分布的随机数。

geornd(0.4,5,1) %生成5个随机数排列的列向量

%注:上述语句生成的随机数所服从的参数为(0.4)的二项分布

geornd(0.4,5) %生成5行5列的随机数矩阵 

%注:上述语句生成的随机数所服从的参数为(0.4)的二项分布

geornd(0.4,[5,2]) %生成一个5行2列的随机数矩阵

%注:上述语句生成的随机数所服从的参数为(0.4)的二项分布

 x=geornd(0.4,100000,1);

hist(x,50)%绘图,生成随机数的分布

poissrnd() %生成服从泊松(Poisson)分布的随机数

poissrnd(2,5,1) %生成5个随机数排列的列向量

%注:上述语句生成的随机数所服从的参数为(2)的泊松分布

poissrnd(2,5) %生成5行5列的随机数矩阵 

%注:上述语句生成的随机数所服从的参数为(2)的泊松分布

poissrnd(5,[5,2])%生成一个5行4列的随机数矩阵 

%注:上述语句生成的随机数所服从的参数为(2)的泊松分布

x=poissrnd(2,100000,1);

hist(x,50);%绘图,生成随机数的分布

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值