matlab产生随机数的方法.doc_第1页
matlab产生随机数的方法.doc_第2页
matlab产生随机数的方法.doc_第3页
matlab产生随机数的方法.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

matlab产生随机数的方法第一种方法是用 random 语句,其一般形式为y = random(分布的英文名,A1,A2,A3,m,n),表示生成 m 行 n 列的 m n 个参数为 ( A1 , A2 , A3 ) 的该分布的随机数。例如:(1) R = random(Normal,0,1,2,4): 生成期望为 0,标准差为 1 的(2 行 4 列)2 4 个正态随机数(2) R = random(Poisson,1:6,1,6): 依次生成参数为 1 到 6 的(1 行 6 列)6 个 Poisson 随机数第二种方法是针对特殊的分布的语句:一 几何分布随机数 (下面的 P,m 都可以是矩阵) R = geornd(P) (生成参数为 P 的几何随机数) R = geornd(P,m) (生成参数为 P 的 m 个几何随机数) R = geornd(P,m,n) (生成参数为 P 的 m 行 n 列的 m n 个几何随机数) 例如(1) R = geornd(1./ 2.(1:6) ( 生成参数依次为 1/2,1/22,到 1/26 的 6 个几何随机数)(2) R = geornd(0.01,1 5) (生成参数为 0.01 的(行列)5 个几何随机数).二Beta 分布随机数R = betarnd(A,B) (生成参数为 A,B 的 Beta 随机数)R = betarnd(A,B,m) (生成 m 个数为 A,B 的 Beta 随机数) R = betarnd(A,B,m,n) (生成 m 行 n 列的 m n 个数为 A,B 的 Beta 随机数).三正态随机数R = normrnd(MU,SIGMA) (生成均值为 MU,标准差为 SIGMA 的正态随机数)R = normrnd(MU,SIGMA,m) (生成 1 m 个正态随机数)R = normrnd(MU,SIGMA,m,n) (生成 m 行 n 列的 m n 个正态随机数) 例如(1) R = normrnd(0,1,1 5) 生成 5 个正态(0,1) 随机数 (2) R = normrnd(1 2 3;4 5 6,0.1,2,3) 生成期望依次为1,2,3;4,5,6, 方差为 0.1 的 2 3 个正态随机数四二项随机数:类似地有R = binornd(N,P)R = binornd(N,P,m) R = binornd(N,p,m,n) 例如 n = 10:10:60; r1 = binornd(n,1./n) 或 r2 = binornd(n,1./n,1 6) (都生成参数分别为 1 1 ), L, ( 60, ) 的个二项随机数(10, 10 60五自由度为 V 的 2 随机数:R = chi2rnd(V) R = chi2rnd(V R = chi2rnd(V ,m) ,m,n)六期望为 MU 的指数随机数(即 Exp 随机数): 1 MUR = exprnd(MU)R = exprnd(MU,m)R = exprnd(MU,m,n)七自由度为 V1, V2 的 F 分布随机数: R = frnd(V1,V2) R = frnd(V1, V2,m)R = frnd(V1,V2,m,n)八 ( A, ) 随机数: R = gamrnd(A,lambda) R = gamrnd(A,lambda,m) R = gamrnd(A,lambda,m,n)九超几何分布随机数: R = hygernd(N,K,M)R = hygernd(N,K,M,m)R = hygernd(N,K,M,m,n)十对数正态分布随机数 R = lognrnd(MU,SIGMA) R = lognrnd(MU,SIGMA,m) R = lognrnd(MU,SIGMA,m,n)十一负二项随机数: R = nbinrnd(r,p)R = nbinrnd(r,p,m)R = nbinrnd(r,p,m,n)十二Poisson 随机数: R = poissrnd(lambda) R = poissrnd(lambda,m)R = poissrnd(lambda,m,n) 例如,以下 3 种表达有相同的含义:lambda = 2; R = poissrnd(lambda,1,10)(或 R = poissrnd(lambda,1 10) 或 R = poissrnd(lambda(ones(1,10)十三Rayleigh 随机数: R = raylrnd(B) R = raylrnd(B,m)R = raylrnd(B,m,n)十四V 个自由度的 t 分布的随机数: R = trnd(V) R = trnd(V,m)R = trnd(V,m,n) 42十五离散的均匀随机数:R = unidrnd(N) R = unidrnd(N,m)R = unidrnd(N,m,n)十六A,B 上均匀随机数R = unifrnd(A,B) R = unifrnd(A,B,m)R = unifrnd(A,B,m,n)例如 unifrnd(0,1:6)与 unifrnd(0,1:6,1 6) 都依次生成0,1 到0,6的个均匀随机数:十七Weibull 随机数R = weibrnd(A,B) R = weibrnd(A,B,m)R = weibrnd(A,B,m,n)MATLAB中产生高斯白噪声的两个函数 MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。 y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。 y = wgn(m,n,p,imp,state) 重置RANDN的状态。 在数值变量后还可附加一些标志性参数: y = wgn(,POWERTYPE) 指定p的单位。POWERTYPE可以是dBW, dBm或linear。线性强度(linear power)以瓦特(Watt)为单位。 y = wgn(,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是real或complex。 2. AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。 y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为measured,则函数将在加入噪声之前测定信号强度。 y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。 y = awgn(,POWERTYPE) 指定SNR和SIGPOWER的单位。POWERTYPE可以是dB或linear。如果POWERTYPE是dB,那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是linear,那么SNR作为比值来度量,而SIGPOWER以瓦特为单位。 注释 1. 分贝(decibel, dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20作为电平的分贝数(功率的电平值改乘10)。 2. 分贝瓦(dBW, dB Watt):指以1W的输出功率为基准时,用分贝来测量的功率放大器的功率值。 3. dBm (dB-milliWatt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论