python对数正态分布函数_python生成具有上下限的截断对数正态分布
目标:用python生成一组具有上下限的对数正态分布随机数。
思路:利用python的scipy.stats生成截断正态分布,再将正态分布转化为对数正态分布。
要求:生成的目标对数正态分布随机数要介于区间[log_lower,log_upper]内,这里设定该区间为[5, 10],并绘制正态分布与对数正态分布随机数的直方图。
源代码:
import numpy as np
from pylab import *
from scipy import stats
import matplotlib
import matplotlib.pyplot as plt
# 设置matplotlib正常显示中文和负号
matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus'] = False # 正常显示负号
# region 【功能函数】生成截断对数正态分布,要求对数正态在[log_lower,log_upper]
def get_trunc_lognorm(mu, sigma, log_lower, log_upper=np.inf, data_num=10000):
norm_lower = np.log(log_lower)
norm_upper = np.log(log_upper)
X = stats.truncnorm((norm_lower - mu) / sigma, (norm_upper - mu) / sigma, loc=mu, scale=sigma)
norm_data = X.rvs(data_num)
log_data = np.exp(norm_data)
return norm_data, log_data
# endregion
mu, sigma = 0, 1
norm_data, log_data = get_trunc_lognorm(mu, sigma, 5, 10)
figure(4)
subplot(2, 1, 1)
plt.hist(norm_data, normed=1, bins=30)
plt.xticks(np.arange(mu - 5 * sigma, mu + 5 * sigma, 0.5))
plt.title("中间过程的截断正态分布")
subplot(2, 1, 2)
plt.hist(log_data, normed=1, bins=30)
plt.xticks(np.arange(0, 50, 5))
# plt.xlim(0,50)
plt.title("所求的截断对数正态分布")
plt.show()
执行结果:
python对数正态分布函数_python生成具有上下限的截断对数正态分布相关推荐
- python生成正态分布数据_python 生成正态分布数据,并绘图和解析
1.生成正态分布数据并绘制概率分布图 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 根据均值.标准差 ...
- python反序数函数_python range()函数取反序遍历sequence的方法
python range()函数取反序遍历sequence的方法 python中的range函数取反序有两种方式 第一种:先构建一个列表,然后对列表中的元素进行反转. 例如: a=range(5) f ...
- python list join函数_Python中join()函数多种操作代码实例
这篇文章主要介绍了Python中join()函数多种操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python中有.join()和os ...
- python中help函数_Python help()函数
python中help函数 Python help() function is used to get the documentation of specified module, class, fu ...
- python反序数函数_python逆序函数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python sorted()函数 list内置一个方法sort(),可以实现对 ...
- python中label函数_python实现在函数图像上添加文字和标注的方法
如下所示: import matplotlib.pyplot as plt import numpy as np from matplotlib import font_manager #先确定字体, ...
- python中execute函数_python中的函数是如何使用的?
欢迎关注「issnail」感谢! "一起学习,一起成长!" 1.定义函数与调用函数 定义python函数:依次输入def.函数名.带有函数参数的圆括号,最后紧跟一个冒号(:) 函数 ...
- python 匿名回调函数_Python面试题之回调函数
编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是编写库:而应用编程就是利用写好的各种库来编写具某 ...
- python画正切函数_python的pygal模块绘制反正切函数图像方法
python的pygal模块绘制反正切函数图像方法 python是一个很有趣的语言,可以在命令行窗口运行.python中有很多功能强大的模块,这篇经验告诉你,如何使用python的pygal模块绘制反 ...
- python中随机数函数_Python随机数函数
摘要: 下文讲述Python代码中seed()函数的简介说明,如下所示: seed()函数功能 用于改变随机数生成器的种子, 常用于其它随机函数之前运行此函数 seed()函数语法 seed.seed ...
最新文章
- 福布斯 : 企业市场Chrome任重道远
- 使用SSH命令行远程登录运行在CloudFoundry上的应用
- mybatis自己学习的一些总结
- HTML中空格代码为,html空格 html 空格代码
- WPF纯手工两步打造图片切割工具(二)
- Azure Synapse Analytics简介第3部分:数据科学和商业智能
- php 调用图,php 缩略图类(附调用示例)
- python魔法方法和普通方法_Python魔法方法之属性访问详解!
- Mac下配置ndk/adb
- new RandomAccessFile有时很耗时间
- python属性是什么意思_什么是python类属性
- Mysql的交叉表查询
- ugui scrollview 3d特效 裁减
- 增益自适应PI控制器+死区过滤器(Smart PLC向导PID编程应用)
- Android Snackbar控件
- CNdeepdive 安装报错:deepdive Failed connect to raw.githubusercontent.com:443; Connection refused
- 神经翻译笔记5扩展b. 常用的机器翻译技巧
- JavaWeb-仿小米商场(8) 订单支付[沙箱支付]
- 毕业后到底去学术界还是工业界?杜克大学陈怡然教授亲述5条“小秘籍”
- hub_thread
热门文章
- Codeforces 1027C. Minimum Value Rectangle
- IDEA 修改全文搜索快捷键
- python允许无止境的循环_python基础课程 第6章 循环(无尽的未来)
- 第15课 模块与包
- const的小把戏。
- vulnhub靶机_WHO WANTS TO BE KING: 1
- 【Watery DP】[Dota1002]光之守卫(Gandolf)
- 【路径规划】基于粒子群算法机器人避障路径规划matlab代码
- 算法导论8.4-4-单位圆中均匀分布情况--桶排序
- html input 宽度自适应,CSS实现input宽度根据输入内容自适应