gngauss.m

来自「qpsk通信系统的MonteCalo仿真程序」· M 代码 · 共 16 行

M
16
字号
function grsv=gngauss(m,sgma)
%输入格式可以为【gsrv1,gsrv2】=gngauss(m,sgma)
%或【gsrv1,gsrv2】=gngauss(sgma)
%或【gsrv1,gsrv2】=gngauss
%函数生成两个统计独立的高斯分布的随机数,以m为均值,sgma为方差
%缺省是m=0,sgma=1
if (nargin==0)
       sgma=1;    m=0;        
elseif nargin==1
       sgma=m;   m=0;
end;
u=rand;                                            %产生一个(0,1)间均匀分布的随机数u
z=sgma*(sqrt(2*log(1/(1-u))));                     %利用上面的u产生一个瑞利分布的随机数u
u=rand;                                            %重新产生(0,1)间均匀分布的随机数u
grsv(1)=m+z*cos(2*pi*u);   grsv(2)=m+z*sin(2*pi*u);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?