simulation - R队列模拟:找到一个带有两个参数的函数进程和一个状态,它返回在该状态下花费的时间量
问题描述
我有一个模拟出生/死亡过程的代码。并希望找到一个函数,该函数采用模拟过程和该过程的状态并返回该过程在该状态下花费的时间量。
我想我可以以某种方式使用我已经拥有的部分代码,比如代码中的向量“时间”。但我看不到它。例如,我想找到一个函数 time_in_state <- function(s,process)。例如,进程可以是 process1 <- bd_process(2, 10, 0, 100) 并且状态 s=2。然后该函数应该返回 process1 在状态 2 中花费的时间。
bd_process <- function(lambda, mu, initial_state = 0, steps = 500) {
time_now <- 0
state_now <- initial_state
time <- 0
state <- initial_state
for (i in 1:steps) {
if (state_now == 3) {
lambda_now <- 0
} else {
lambda_now <- lambda
}
if (state_now == 0) {
mu_now <- 0
} else {
mu_now <- mu
}
if (((mu_now + lambda_now )* runif(1)) < mu_now) {
state_now <- state_now - 1
} else {
state_now <- state_now + 1
}
time_now <- time_now + time_to_transition
time <- c(time, time_now)
state <- c(state, state_now)
}
list(tid = time, state = state, steps=steps)
}
解决方案
推荐阅读
- git - 跳过(完整)暂存区并直接提交文件或补丁?
- spring-boot - 远程连接到 PCF 云配置服务器服务
- sql - 使用“SELECT FOR UPDATE”时出现死锁
- c - 非 NULL 用户输入
- docker - Docker 入口点未按预期工作
- c# - 如何根据条件将数据绑定到 DTO 属性?
- php - 文件夹权限,以便 rsync 和 move_uploaded_file 工作
- python - 如何使用 Pyinstaller 在 Windows 上制作 Mac 文件?
- mysql - 在第二个 P 标记之后从 DB 中获取文本
使用 SQL
- firebase - 使用规则将某些 key=val 对保护为公共或私有 VS 具有单独的公共和私有路径