您的位置:首页 > 编程语言 > MATLAB

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

2019-10-16 22:25 1881 查看
原文链接:https://blog.csdn.net/imwtj123/article/details/83002818

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: