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 + -
显示快捷键?