当前位置: 首页 > news >正文

poisson过程——随机模拟(Python和R实现)

Python实现

exponential()使用,自动poisson过程实现。

import numpy as np
import matplotlib.pyplot as plt# Parameters
lambda_rate = 5  # rate parameter (events per time unit)
T = 10  # total time# Generate Poisson process
times = np.random.exponential(1/lambda_rate, int(lambda_rate * T * 1))
arrival_times = np.cumsum(times)
arrival_times = arrival_times[arrival_times < T]# Plot Poisson process
plt.step(np.concatenate([[0], arrival_times]), np.arange(len(arrival_times) + 1), where='post')
plt.xlabel('Time')
plt.xticks(np.arange(0, T + 1, 1))
plt.ylabel('Number of events')
plt.title('Poisson Process')
plt.show()

003adfdc1f254b80b0d4f88605082396.png

 def poisson函数使用。

#正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#%%
import random
import numpy as np
import matplotlib.pyplot as pltdef poisson(T,lambdas):t = 0i = 0s = [t]while True:u = random.expovariate(lambdas)t = t + uif t <= T:i = i + 1#计数s.append(np.round(t,2))#记录发生事件的时间,保留两位小数else:breakprint(f'{T}时间内事件发生的次数:',i,'\n 各个事件发生的时刻:',s)#绘制样本轨迹n = i + 1x = np.arange(n)plt.step(s,x, where='post')#绘制阶梯图plt.xticks(s)#设置x轴刻度plt.xlabel('时间t')plt.ylabel('N(t)')plt.title('Poisson Process')plt.show()return s
#生成图像
poisson(4,1)#参数分别为T和lambda,T为时间长度,lambda为单位时间内事件发生的次数

 c9027888509e4b7bb435a4be3267976d.png

R语言实现

#R语言实现poisson过程
# Parameters
lambda_rate <- 5  # rate parameter (events per time unit)
T <- 10  # total time# Generate Poisson process
set.seed(123)  # for reproducibility
times <- rexp(n = ceiling(lambda_rate * T * 1.5), rate = lambda_rate)
arrival_times <- cumsum(times)
arrival_times <- arrival_times[arrival_times < T]# Plot Poisson process
plot(stepfun(arrival_times, 0:length(arrival_times)), do.points = FALSE, xlab = "Time", ylab = "Number of events", main = "Poisson Process")

 d9808e0fa5cf419faaa46cbea3a94abd.png

 

http://www.lryc.cn/news/464731.html

相关文章:

  • 100 种下划线 / 覆盖层动画 | 终极 CSS(层叠样式表)集合
  • 华为ICT大赛2024-2025网络赛道考试分析
  • linux 效率化 - 输入法 - fcitx5
  • YOLOv11改进策略【卷积层】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
  • 一天认识一个硬件之路由器
  • 【scene_manager】与 MoveIt 机器人的规划场景进行交互
  • 数据结构单向链表的插入和删除(一)
  • 鸿蒙网络编程系列30-断点续传下载文件示例
  • 深入拆解TomcatJetty(二)
  • 单元化架构,分布式系统的新王!
  • 【力扣打卡系列】滑动窗口与双指针(乘积小于K的子数组)
  • 浅谈微前端【qiankun】的应用
  • 【JavaEE】——四次挥手,TCP状态转换,滑动窗口,流量控制
  • D42【python 接口自动化学习】- python基础之函数
  • GitLab 老旧版本如何升级?
  • 现今 CSS3 最强二维布局系统 Grid 网格布局
  • 【图解版】力扣第146题:LRU缓存
  • 数据库知识点整理
  • 【JVM】内存模型
  • 代码随想录:二叉树的四种遍历
  • 【Linux】从多线程同步到生产者消费者模型:多线程编程实践
  • 如何在word里面给文字加拼音?
  • Detr论文精读
  • 找寻孤独伤感视频素材的热门资源网站推荐
  • 大模型~合集13
  • 【Next.js 项目实战系列】04-修改 Issue
  • 【Linux】并行与并发(含时间片)
  • 【Flutter】页面布局:弹性布局(Flex)
  • 深入解析 Go 语言接口:多接口实现与接口组合的实际应用
  • Eclipse——Java开发详解