matlab中产生随机数的函数

目录

1. randsrc

2. rand

3. randi

4. randperm

5. randn

6. intersect

7. cumsum

8. 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. randi

randi()返回范围为imin到imax的伪随机整数,如果没指定imin,则默认为1。

r = randi(imax,n)                   %生成n*n的矩阵

r = randi(imax,m,n)               %生成m*n的矩阵

r = randi(imax,[m,n])             %同上

r = randi(imax,m,n,p,...)        %生成m*n*p*...的矩阵

r = randi(imax,[m,n,p,...])      %同上

r = randi(imax)                      %1*1的矩阵

r = randi(imax,size(A))          %和size(A)同维的矩阵

r = randi([imin,imax],...)

4. randperm

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

p = randperm(n, k)  返回从1到n随机分布的整数序列,长度为k,而且这k个数也是不相同的。randperm返回不重复的重排采样(k-permutations)。

 

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

5. randn

产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵。

X = randn 返回一个从标准正态分布中得到的随机标量。
X = randn(n) 返回由正态分布的随机数组成的 n×n 矩阵。
X = randn(sz1,...,szN) 返回由随机数组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:randn(3,4) 返回一个 3×4 的矩阵。
X = randn(sz) 返回由随机数组成的数组,其中大小向量 sz 定义 size(X)。例如:randn([3 4]) 返回一个 3×4 的矩阵。
X = randn(___,typename) 返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 'single' 或 'double'。您可以使用上述语法中的任何输入参数。
X = randn(___,'like',p) 返回由 p 等随机数组成的数组;也就是与 p 同一对象类型。您可以指定 typename 或 'like',但不能同时指定两者。

 

其他:

6. intersect

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

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

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

 

7. cumsum

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

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

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

 

相关函数:cumprod, prod, sum

sum 函数

eg.

 

8. rectpuls

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

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

 

 

 

  • 19
    点赞
  • 160
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值