gngauss.asv

来自「这部分是用MATLAB产生随机过程的一系列源代码.含产生高斯分布随机变量,多变量」· ASV 代码 · 共 16 行

ASV
16
字号
function [gsrv1,gsrv2]=gngauss(m,sgma)
%     [gsrv1,gsrv2]=gngauss(m,sgma) 
%     [gsrv1,gsrv2]=gngauss(sgma)
%     [gsrv1,gsrv2]=gngauss
%   GNGAUSS产生两个均值为m,标准偏差sgma的,相互独立的高斯随机过程。如果缺少其中一个输入参数,则取均值为0。如果既没有给出均值也没有给出方差,本函数
%   将产生两个标准高斯随机变量。
if nargin==0,
   m=0;sgma=1;
elseif nargin==1,
      sgma=m; m=0;
    end;
  u=rand;    %在区间(0,1)内的均匀随机变量
  z=sgma*(sqrt(2*log(1/(1-u))));   % 瑞利分布随机变量
  u=rand;    %在区间(0,1)内的另一个均匀随机变量
  gsrv1=m+z.*cos(2*pi*u);
  gsrv2=m+z.*sin(2*pi*u);

⌨️ 快捷键说明

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