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

server/2024/10/23 23:55:17/

Python实现

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

python">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函数使用。

python">#正常显示中文标签
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.ppmy.cn/server/134293.html

相关文章

ZBrush和3D-Coat各自的优缺点是什么?

zbrush支持的模型面数高英文界面&#xff0c;3d coat支持的模型面数比zbrsh低有中文界 ZBrush优缺点 1、ZBrush优点&#xff1a; zbrush是高精度建模poser制作的首选。可搭配雕刻版使用&#xff0c;主要为烘焙高细节的铁图建模。因为是高精度模型&#xff0c;不适用于动画和游…

MySQL中的最左前缀匹配原则

最左前缀匹配原则是 MySQL 在使用索引时遵循的一种规则&#xff0c;尤其在涉及到组合索引&#xff08;联合索引&#xff09;时。 最左前缀匹配原则指的是在使用组合索引时&#xff0c;MySQL 会从最左边的索引列开始匹配&#xff0c;直到遇到第一个无法继续匹配的列为止。这意味…

大数据治理:技术挑战与解决方案

随着信息时代的到来&#xff0c;大数据已经成为各行各业的核心资产&#xff0c;影响着商业决策、社会管理和科学研究。然而&#xff0c;数据的庞大体量、复杂结构以及多样化来源也带来了前所未有的管理挑战。为了实现数据的最大价值&#xff0c;并确保数据在使用过程中符合法规…

NoSQL数据库分类简述

分类概述 NoSQL数据库是一种非关系型数据库&#xff0c;它提供了一种存储和检索数据的机制&#xff0c;这种机制与传统的关系型数据库表格模型不同。NoSQL数据库设计用于大规模数据的存储和高性能的查询&#xff0c;特别适合于处理大量的非结构化或半结构化数据。NoSQL数据库主…

Python使用faker批量生成测试模拟数据到MySQL

Python使用faker批量生成测试模拟数据到MySQL 1. 安装所需库2. 创建 MySQL 数据库和用户表3. Python 脚本4. 运行脚本5. 结果注意事项 使用 Faker 库生成模拟数据&#xff0c;并使用 mysql-connector-python&#xff08;或其他 MySQL 驱动&#xff09;将这些数据写入 MySQL 数据…

【LeetCode:349. 两个数组的交集 + 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

stm32单片机个人学习笔记11(ADC模数转换器)

前言 本篇文章属于stm32单片机&#xff08;以下简称单片机&#xff09;的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 STM32入门教程-2023版 细…

计算机毕业设计 基于Python的社交音乐分享平台的设计与实现 Python毕业设计 Python毕业设计选题【附源码+安装调试】

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…