统计-均匀分布生成其他分布的两种方法
一.求逆法:
二.舍弃法:
三.python实现,通过从均匀分布中抽样,模拟其他分布的样本
# 求逆法,需要原函数的逆函数比较容易求得import numpy as npimport matplotlib.pyplot as pltuniform_data=np.linspace(0,1000,10000)# 针对连续型密度函数 3*x^2 ,求原函数,即不定积分from sympy import *x=symbols('x')print(Integral(3*x**2,x).doit()) # 可以看到 x**3 为原函数# 那么根据上面的结果,原函数的逆为 u^(1/3)y=[ele**(1/3) for ele in uniform_data]
z=[3*ele**2 for ele in y]
#plt.plot(y,z)
#plt.show()# 舍弃法# 令,f(x)=6*x*(x-1) g(x) 服从(0,1)均匀分布,则g(x)=1,c=6from numpy import random#生成1000个随机数k=0
j=0 # 若要生成k=1000个随机数,需要模拟j次
random_data1=[]
while k<1000:j=j+1u=random.uniform(0,1,1)ran=random.uniform(0,1,1)#print(ran)if ran*(1-ran)>u:k=k+1random_data1.append(ran[0])print(j) # 若要产生1000个随机数,则需要模拟大约6000多次
统计-均匀分布生成其他分布的两种方法相关推荐
- php 自动生成查询密码,php自动生成新密码的两种方法
php自动生成新密码的两种方法,方法一采用的是随机种子,方法是乱序数组,异曲同工吧. 有需要的朋友可以参考下. 方法1: 代码示例: /* * php自动生成新密码自定义函数 适用环境: PHP5.2 ...
- python requirements.txt_python生成requirements.txt的两种方法
这篇文章主要介绍了python生成requirements.txt的两种方法,每种方法给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 python项目如何在另一个环境上重新构建项目 ...
- php imagick 取得psd缩略图,PHP利用imagick读取PDF生成png缩略图的两种方法
PHP利用imagick读取PDF生成png缩略图的两种方法 发表于2019-04-24 06:08| 次阅读| 来源网络整理| 作者session 摘要:PHP利用imagick读取PDF生成png ...
- 产生随机字符java_java生成随机字符串的两种方法
本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下 import java.util.Random; public class CharacterUtils { //方法1 ...
- 条码生成器中生成药品电子监管码的两种方法
在生成药品电子监管码之前,我们首先要对药品电子监管码有一个简单的了解.药品电子监管码共计20位数字,前7位是产品资源码(包含企业信息,药品名称,批准文号等等信息),8到16位是单件产品的序列号,最后4 ...
- 【游戏设计图形学】在地图上生成蜿蜒河流的两种方法
引言 在开发游戏时,我们经常需要用到随机生成的地形,而河流是其中不可或缺的一部分.本文章将探讨如何在地图上生成河流. 河流生成的自然原因 高山积雪,地下水,雨水是河流发源的主要原因,而由于雨水形成的小 ...
- Python 项目依赖包 第三方库 生成requirements.txt的两种方法
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包? 使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本.这 ...
- python生成requirements.txt的两种方法
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包? 使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本.这 ...
- PHP制作订货,PHP生成订单号的两种方法
在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php Functi ...
- php订单号递增,PHP生成订单号的两种方法
在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php functi ...
最新文章
- 搭建Harbor 2.x仓库 - docker私仓搭建
- 全國身份證查詢系統nciis
- Spring Cloud Config Server迁移节点或容器化带来的问题
- 批量删除文件名中的相同文字
- 1034 Head of a Gang (30 分) 【难度: 中 / 知识点: 并查集】
- jdk1.8之HashMap
- flink配置+停止flink中的job
- c++常见并且必须记住的问题
- 通俗易懂,先来认识一下Vuex
- 【动态规划】subsequence 1
- [红外] 求一个数的反码, 并作为高位追加到 这个数的前面
- 深观察|区块链不是洪水猛兽,但要警惕以区块链之名圈钱
- c# winform人脸识别
- 微信逆向:如何统计好友添加数据和聊天记录数据?
- 【U8+】去掉填制凭证界面金额中的网格
- scrapy爬虫之贝壳房产信息
- InnoDB数据恢复的工具——TwinDB介绍
- 9 张手绘图:阐明机器学习模型训练全流程
- 前端批量生成二维码并打包下载
- 四、nginx访问控制