【python】生成对数正态分布样本并画出PDF和CDF图

"""
Created on Tue Mar 12 22:09:09 2024

@author: zhang
"""

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

mean,std=1,0.3
sample_size=2000

# logNorm distribution
samples=np.exp(stats.norm.rvs(mean,std,size=sample_size))

res=stats.relfreq(samples,numbins=20)
pdf_value=res.frequency
cdf_value=np.cumsum(res.frequency)

x=res.lowerlimit+np.linspace(0,res.binsize*res.frequency.size,res.frequency.size)

fig,(ax1,ax2)=plt.subplots(2,1,figsize=(5,6))
ax1.set_xlabel('Frequency (MHz)')
ax1.set_ylabel('Probability')
ax1.hist(samples,15,density=True)

ax1.set_xlim([x.min(),x.max()])
ax1.grid(True,linestyle='--',alpha=0.4)
ax2.set_xlabel('Frequency (MHz)')
ax2.set_ylabel('Cumulative Probability')
ax2.plot(x,cdf_value)
ax2.grid(True,linestyle='--',alpha=0.4)

plt.show()

代码运行后结果为:
在这里插入图片描述

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值