https://www.cnblogs.com/tsingke/p/6194737.html

利用有box 和 muller 提供的,在 knuth的网上讨论过的方法  Box-Muller,一般是要得到服从正态分布的随机数,

基本思想: 先得到服从均匀分布的随机数;  然后再将服从均匀分布的随机数转变为服从正态分布.

https://www.cnblogs.com/tsingke/p/5866672.html

用c语言 产生服从均匀分布, 瑞利分布,莱斯分布,高斯分布的随机数 以及柯西分布

Box-Muller 是产生随机数的一种方法。结果却是相当简单。

如果在 (0,1] 值域内有两个一致的随机数字 U1 和 U2,可以使用以下两个等式中的任一个算出一个正态分布的随机数字 Z:

Z = R * cos( θ ) 或 Z = R * sin( θ )

其中, R = sqrt(-2 * ln(U2)), θ = 2 * π * U1

正态值 Z 有一个等于 0 的平均值和一个等于 1 的标准偏差,可使用以下等式将 Z 映射到一个平均值为 m、标准偏差为 sd 的统计量 X:

X = m + (Z * sd)

C代码: (计算机编程中, log函数==ln()函数,以e为底的自然对数,  log10 才是以10为底的函数)

#include

#include

#include

#define PI 3.141592654

main(){

double d,b;

double gaussrand(double,double);

printf("输入两个数:u=o=");

scanf("%lf %lf",&d,&b);

gaussrand(d,b);

printf("%1lf",gaussrand(d,b));

}

double gaussrand(double v,double e ){

double U, V;

int phase = 0;

double z;

if(phase == 0)

{

U = rand() / (RAND_MAX + 1.0);

V = rand() / (RAND_MAX + 1.0);

z = sqrt(-2.0 * log(V))* sin(2.0 * PI * U);

}

else

{

z = sqrt(-2.0 * log(V)) * cos(2.0 * PI * U);

}

phase = 1 - phase;

z=z*sqrt(e)+v;

return z;

}

这样生成的高斯分布随机数序列的期望为0.0,方差为1.0。若指定期望为E,方差为V,则只需增加:GaussRand() * V + E

高斯分布函数c语言编程,c语言 写高斯分布函数相关推荐

  1. C语言编程学习:写的秒速计算四则混合运算项目

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  2. c语言编程上升沿怎样写,plc结构化编程怎么写

    1.PLC如何编程 要看什么类型的PLC,有三菱的.西门子的 有以下几种编程方法: 梯形图编程语言(LD) 指令语句表编程语言(IL) 功能块图编程语言(FBD) 顺序功能图编程(SFC) 结构化文本 ...

  3. 11 12 13c语言编程,C语言编程

    C语言编程 1.sscanf() sscanf()与scanf()类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 头文件:#include 格式:int ssc ...

  4. 0.618法C语言编程,c语言编程题--0.618法求最小值

    c语言编程题--0.618法求最小值0 题目: 1.函数f(x)=x+10/x,初始量a=2,b=10,c=0.3 2.步骤:(1)取a1=a+0.382*(b-a),b1=b+0.618*(b-a) ...

  5. 在线模拟c语言编程,c语言模拟编程学习软件v2019

    C/C ++程序设计学习与实验系统是一款可用于设计教学演示.学习与实验的C/C ++语言编程学习软件,是由从事教学的老师根据C/C ++的初学者及C程序多媒体演示研发.对于想要学习C语言的朋友是一个不 ...

  6. [Lua语言编程]Lua语言基础知识

    文章目录 `Lua` `Lua`语言的起源 `Lua` 特性 `Lua下载` Linux 系统上安装 Mac OS X 系统上安装 Window 系统上安装 `Lua` `Lua`语言语法 `Lua` ...

  7. 100以内加减法C语言编程,C语言编程100题(其三)来啦!

    原标题:C语言编程100题(其三)来啦! 无论是风里,还是在雨里,我都在这里守候着你- 大家好啊,我是小C,咱们又见面咯,前面的题目做的怎么样呢,今天又给大家送上新的题目了,快来学习吧! 计算200到 ...

  8. c语言编程彩虹桥,语言彩虹桥教案

    大班美术教案彩虹桥活 动名 称美术:彩虹桥备课教师活 动目 标1. 进一步学会有规律地涂出颜色的变换,大班美术教案彩虹桥.2. 培养幼儿对美术活动的兴趣.重难点学会有规律地涂出颜色的变换 活 动准 备 ...

  9. c语言编程星空代码,写给初学者──如何学习C语言

    ALX的BLOG熊窝BLOGtianyeww的BLOG平安年间BLOG陈胜纲的BLOGnmdd的专栏甜蜜的T007之家心雨阁张宴的BLOGMilo的BLOGknight的BLOGFreeBSD之旅我的 ...

  10. C语言编程练习 3.写一个函数,如果它首次被调用,则返回字母A,第二次被调用,则返回字母B,第三次调用,则返回字母C,以此类推。(提示:使用一个static数据类型)

    题目完整描述: 写一个函数,如果它首次被调用,则返回字母A,第二次被调用,则返回字母B,第三次调用,则返回字母C,以此类推.(提示:使用一个static数据类型) 函数原型为:char call_ti ...

最新文章

  1. 快速学习 async await 的使用, Demo 解析
  2. AI强势来袭,锁上手机就真的安全了吗?
  3. Android -----ArrayAdapter的重写 .
  4. 【阿里云课程】1小时快速掌握Tensorflow核心功能,完成完整的项目实践
  5. i-i.me:网址导航真的是伪需求吗?
  6. java 微信转账 ca_error_C#关于微信红包开发问题:CA证书出错,请登录微信支付商户平台下载证书...
  7. 漂浮窗口拖动杂谈(续)
  8. C++ struct实现顺序表
  9. LeetCode:225. 用队列实现栈
  10. 以太网CSMA/CD算法交换机自学习/转发简述
  11. MATLAB VideoReader读取视频出错解决办法
  12. 罗技F310与F710游戏手柄驱动(附C++源码)
  13. 某次TPMC测试一直上不去的原因
  14. java 定时为每月10号,Spring 定时任务如何实现每周一某个时间执行?
  15. C语言程序——摄氏度和华氏度之间的转换
  16. Python BS4 星巴克界面图片报错, tfp = open(filename, ‘wb‘) FileNotFoundError: [Errno 2] No such file or
  17. 2017中山大学计算机考研科目,2017年中山大学0812计算机科学与技术考研参考书目推荐...
  18. 强制删除CAD_无法删除cad
  19. 晶豪(ESMT)nand flash对内存页的读取、ECC校验 F59L2G81A
  20. python 神经网络可以输出连续值_dqn 神经网络输出

热门文章

  1. 解决安装多个Xcode出现的PBXProjectWizardChooserWizard问题
  2. DICOM医学图像处理:Orthanc Plugin SDK实现WADO服务
  3. 什么是字节 什么是数据包
  4. 用WPF+MongoDB开发房产信息收集器(3)——MongoDB入门
  5. c#中是否有javascript中的jQuery类库?
  6. Windows Server 2003至Windows Server 2008的迁移
  7. 单播/组播/广播 通讯协议的特点及应用对比
  8. C++ 派生类和virtual
  9. couldn't open file: data/coco.names
  10. 十个个必装的火狐插件