0
点赞
收藏
分享

微信扫一扫

基于vue框架的大学校园生活交流平台rko1z(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

刘员外__ 2024-10-17 阅读 17

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

#正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#%%
import random
import numpy as np
import matplotlib.pyplot as plt

def poisson(T,lambdas):
t = 0
i = 0
s = [t]
while True:
u = random.expovariate(lambdas)
t = t + u
if t <= T:
i = i + 1#计数
s.append(np.round(t,2))#记录发生事件的时间,保留两位小数
else:
break
print(f'{T}时间内事件发生的次数:',i,'\n 各个事件发生的时刻:',s)

#绘制样本轨迹
n = i + 1
x = 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

 

举报

相关推荐

0 条评论