matlab 中randn randi rand randerr、randint、randsrc、wgn函数

1,rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(m,n,‘double’)生成指定精度的均匀分布的伪随机数,参数还可以
是’single’
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪
随机数

2,randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样

3, randi 生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵
4、randerr函数

此函数用于产生误比特图样。

out=randerr(m):产生一个m*m维的二进制矩阵,矩阵中的每一行有且只有一个非零元素,且非零元素在每一行的位置是随机的。

out=randerr(m,n):产生一个m*n维的二进制矩阵,矩阵中的每一行有且只有一个非零元素,且非零元素在每一行的位置是随机的。

out=randerr(m,n,errors):产生一个m*n维的二进制矩阵,参数errors可以是一个标量、向量或者只有两行的矩阵。

当errors是一个标量时,产生矩阵中的每一行1的个数等于errors;

当errors是一个向量时,产生矩阵每一行1的个数由errors的相应元素指定;

当errors是一个只有两行的矩阵时,第一行指定可能出现1的个数,第二行说明出现1的概率,第二行所有元素和为1。第二行概率前加点即.25。

例如:

>> clear all;
>> out=randerr(4,5,[0 3])
 
out =
 
     0     1     0     1     1
     0     0     0     0     0
     1     0     1     1     0
     1     1     0     0     1
>> out2=randerr(5,6,[0 2;.56 .44])
 
out2 =
 
     0     0     0     0     1     1
     0     0     0     0     0     0
     1     0     0     1     0     0
     0     0     0     0     0     0
     1     1     0     0     0     0

5.randint函数

该函数用于产生均匀分布的随机整数矩阵

out=randint:产生一个不是1就是0的标量,且出现概率一样。

out=randint(m):产生一个m*m的整数矩阵,矩阵中的元素为等概率出现的0和1。

out=ranfdint(m,n):产生一个m*n的整数矩阵,矩阵中的元素为等概率出现的0和1。

out=ranfdint(m,n,rg):产生一个m*n的整数矩阵,如果rg为0,则产生0矩阵,否则矩阵中的元素是rg所设定范围内整数的均匀分布。此范围为:

[0,rg-1],当rg为正整数时;

[rg+1,0],当rg为负整数时;

从min到max,包括min和max,为rg=[min,max]或[min,max]。

6.randsrc函数

根据给定的数字产生一个随机符号矩阵。

out=randsrc:产生一个随机标量,这个标量是1或-1,概率相等。

out=randscr(m):产生一个m*m的矩阵,元素为等概率出现的1或-1。

out=randscr(m,n):产生一个m*n的矩阵,元素为等概率出现的1或-1。

out=randscr(m,n,alphabet):产生一个m*n的矩阵,矩阵的元素为alphabet中所指定的数据符号,等概率出现且相互独立。

out=randscr(m,n,[alphabet;prob]):产生一个m*n的矩阵,矩阵的元素为alphabet中所指定的数据符号,概率出现由prob决定,prob中所有元素和为1。

例如:

>> out=randsrc(7,10,[-1 3 5 -2])
 
out =
 
    -1     5    -1     3    -2    -2    -2     5    -2    -1
    -2    -1    -2    -2     3    -1     3     5     5    -2
     3    -1     3     5     5     5     5     3    -2    -2
     5     3    -1     5    -1     3    -1    -1    -1    -2
     5    -2     3    -2    -1    -1     5    -1     3    -1
    -2     3     5     3     5     3     3    -2    -1     3
    -2    -2     3    -2    -2    -1     5    -1    -2     3
 
>>  out=randsrc(5,4,[-1 3 5 -2;.25 .25 .40 .10])
 
out =
 
     5    -1    -1     3
     3    -1     5    -1
    -2     5     5    -1
    -1     5     3    -1
     3     5     5    -1

7.wgn函数

该函数用于产生高斯白噪声,单位可以是分贝瓦(dBW),分贝毫瓦(dBm)其中1W=0dBW=30dB,加性高斯白噪声表现为信号围绕平均值的一种随机波动过程。其均值为0,方差变现为噪声功率的大小。

y=wgn(m,n,p):产生m*n的白噪声矩阵,p表示输出信号y的功率(dBW),负载的电阻为1。

y=wgn(m,n,p,imp):产生m*n的白噪声矩阵,功率(dBW)为p,指定负载的电阻为imp,单位欧姆。

例如:

>> y1=wgn(5,6,0)
 
y1 =
 
   -1.1564   -0.0200   -0.7145   -0.8479   -1.2571   -2.3299
   -0.5336   -0.0348    1.3514   -1.1201   -0.8655   -1.4491
   -2.0026   -0.7982   -0.2248    2.5260   -0.1765    0.3335
    0.9642    1.0187   -0.5890    1.6555    0.7914    0.3914
    0.5201   -0.1332   -0.2938    0.3075   -1.3320    0.4517
 
>> y2=wgn(2,6,10)
 
y2 =
 
   -0.4120   -1.5057   -4.3061   -2.6839    1.7481   -3.5343
    0.5809    2.7260    1.4389   -1.0590    3.2859    3.9866

原文链接:https://blog.csdn.net/imwtj123/article/details/83002818
原文链接:https://www.cnblogs.com/sddai/p/5406182.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值