瑞利分布的概率密度函数为

瑞丽分布的均值为,方差为

首先使用逆变换法产生参数的指数分布的随机变量,其概率密度函数为

然后通过变换,产生瑞丽分布的随机变量x,具体的方法如下:

(1)产生均匀分布的随机数

(2)计算

(3)计算

1、头文件 rayleigh.h

#pragma once
#ifndef RAYLEIGH_H_
#define RAYLEIGH_H_/*
函数功能:    瑞利分布的随机数
输入参数说明:
sigma       瑞利分布的均值
seed        长整型指针变量, *seed 为伪随机数的种子
*/double rayleigh_data(double sigma, long int * seed);#endif // !RAYLEIGH_H

2、rayleigh.c

#include "rayleigh.h"#include <stdint.h>
#include "string.h"
#include "stdio.h"
#include "uniform.h"
#include <math.h>double rayleigh_data(double sigma, long int * seed)
{double u, x;u = uniform_data(0.0, 1.0, seed);x = -2.0 * log(u);x = sigma + sqrt(x);return x;
}

3、主函数 main.c

#include <stdio.h>
#include <string.h>
#include "uniform.h"
#include "rayleigh.h"int main()
{// 产生50个瑞利分布的随机数int i, j;long int s;double x, sigma;sigma = 1.0;  s = 13579;for (i = 0; i < 10; i++){for (j = 0; j < 5; j++){x = rayleigh_data(sigma,  &s);printf("%13.7f",x);}printf("\n");}   getchar();      // 此行代码是为了保持输出窗口,按任意按键关闭弹窗return 0;
}

4、调试输出结果

产生瑞利分布的随机数 C语言实现相关推荐

  1. 产生拉普拉斯分布随机数--C语言实现

    1.产生随机变量的组合法 将分布函数分解为若干个较简单的子分布函数的线性组合 其中且,是分布函数. 定理:若随机变量,即,并且,取; 证明的分布函数为 定理证毕. 根据此定义,我们可以给出产生随机数的 ...

  2. 产生正态分布(高斯分布)随机数 C语言实现

    正态分布的概率密度函数如下 通常使用表示均值为,方差为 产生正太分布的方法如下: 设为(0,1)上n个相互独立的均匀分布的随机数,由于,. 根据中心极限定理可知,当n趋向于无穷时 的分布近似于正态分布 ...

  3. c语言中什么情况下会出现随机数,C语言中如何产生随机数

    今天看到一段小程序 ,里面用到随机数.才发现在C语言中产生随机数不像matlab中那么简单. C中也有rand()函数,但是rand()函数产生的数不是真正意义上的随机数,是一个伪随机数,是根据一个数 ...

  4. c语言产生随机数_C语言 求的近似值

    点击上方"蓝字"关注我们 愉快的一天,不得不做的三件事: 种田,锄地,整代码!!! [题目] 用循环方法实现. (1)请利用"正多边形逼近"的方法求出π的近似值 ...

  5. c语言中二维数组中产生随机数,C语言中是如何进行随机数生成的[多图]

    C语言中是如何进行随机数生成的.C语言是编程人员经常会到的一款计算机编程语言,有的朋友想知道怎样使用C语言进行随机数生成,那么就快随小编一起来看看这篇C语言中是如何进行随机数生成的吧!其中不仅为大家介 ...

  6. Flutter获取随机数 Dart语言核心基础

    也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好. 学习Dart语言,首先我们需要使用到一个语言调试工具 DartPad 在 Dart 中,dart:math 类库提供了 数学常数和函数 ...

  7. c语言产生50以内随机数,C语言产生随机数

    C语言/C++产生随机数:要用到的函数是rand(), srand()和time() 需要说明的是,iostream头文件中就有srand函数的定义,不需要再额外引入stdlib.h;而使用time( ...

  8. 0 1随机数C语言程序,C语言产生随机数的方法

    C语言产生随机数的方法 C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.那么C语言产生随机数的方法都有哪些呢?以下仅供参考! ...

  9. 正态分布随机数 C语言,正态分布随机数生成算法

    <正态分布随机数生成算法>由会员分享,可在线阅读,更多相关<正态分布随机数生成算法(7页珍藏版)>请在人人文库网上搜索. 1.概率论与数理统计课程设计题目:正态分布随机数生成算 ...

最新文章

  1. 故障排除:硬盘坏道修复术
  2. Java开发技巧——并发控制中的乐观锁与悲观锁
  3. jquery页面加载ajax请求,jquery ajax 加载页面
  4. 黔南民族师范学院计算机与信息学院,黔南民族师范学院
  5. java system.out.read_一个java文件操作小程序 system.out.in buffer read
  6. Nginx + IIS实现负载均衡 Session多站点共享
  7. 关键字Restrict
  8. 分区表的误区:性能提升
  9. Linux统计代码行数
  10. 基于ADS仿真的465khz检波电路
  11. BugKuCTF中套路满满的题--------网站被黑了
  12. Widget Extention开发笔记
  13. 微信小程序模板信息【详】
  14. Java简单类、变量详解(概念和分类、声明、命名、初始化)
  15. 三轮全向底盘:运动学性能分析
  16. DataStream API【1】
  17. python一些运维模块熟悉
  18. vue加载图片失败处理
  19. VB6编程:DirectX 2D图形学习日志20伽玛校正
  20. 前端基础入门之css像素与视口和媒体查询

热门文章

  1. 读取SpringBoot(Spring)的配置信息,定义常量
  2. qrcode 自定义二维码组件
  3. 初中生想要学习数学竞赛,并拿金牌,应该如何规划?
  4. 嘉兴桐乡资格考证培训-教师证笔试科二必考冷门知识点整理
  5. 使用HTK搭建英文大词汇量连续语音识别系统(一)
  6. 使用宏灵活的控制代码
  7. 如何通过经纬度坐标获取附近的地址信息?
  8. 一个屌丝程序猿的人生(二十)
  9. ELK下kibana安装Metricbeat工具
  10. 2021年博士研究生招生大概率延期举行