zoukankan      html  css  js  c++  java
  • 贝努利-高斯分布的随机数

    一、功能

    产生贝努利-高斯分布的随机数。

    二、方法简介

    贝努利-高斯分布的随机变量(x)是贝努利分布的随机变量(y)与高斯分布的随机变量(z)的乘积,即(x=y*x)。因此,贝努利-高斯分布的随机数可视为:每当贝努利序列中有1出现时,打开高斯随机数发生器,并用其输出代替1。贝努利-高斯分布的均值为(pmu),方差为(p),其中(p)是贝努利分布的参数,(mu)是高斯分布的均值。

    在地震勘探信号处理中,常用贝努利-高斯序列描述地下主要层状结构的反射作用。

    产生贝努利-高斯分布随机变量(x)的具体算法如下:

    1. 产生贝努利分布的随机数(y),即(y sim BN(p))
    2. 产生高斯分布的随机数(z),即(z sim N(mu,sigma))
    3. 计算(x=y*x)

    三、使用说明

    是用C语言实现产生贝努利-高斯分布随机数的方法如下:

    /************************************
    	p       ---贝努利分布参数p
    	mean	---高斯分布的均值mu
    	sigma	---高斯分布的均方差sigma
    	s       ---随机数种子
    ************************************/
    #include "gauss.c"
    
    double bg(double p, double mean, double sigma, long int *s)
    {
    	double u;
    	double x;
    	u = uniform(0.0, 1.0, s);
    	if(u < p)
    		x = gauss(mean, sigma, s);
    	else
    		x = 0.0
    	return(x);
    }
    

    gauss.c文件参见正态分布的随机数

  • 相关阅读:
    JDE函数--获取当前登录人的描述
    JDE报表开发笔记(R5537011 收货校验统计表)
    JDE函数--GetUDC(B函数)
    JDE隐藏Constant等(Hide Object)
    Oracle “dba_tables”介绍
    word2013设置页面边框
    makefile--#的不正确使用
    CICS定时
    程序的命名
    UE上传到FTP,会多出些字符
  • 原文地址:https://www.cnblogs.com/liam-ji/p/11678472.html
Copyright © 2011-2022 走看看