- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 deSolve
解决 R 中的 ODE .使用以下代码,我期望参数 gamma0
在时间步长 0、1、2、3、4、5、6、7、8、9 和 10 处取值 5,否则取 0。然而,print(gamma0)
显示 gamma0
保持在 0。
这是我的 ODE:
library(deSolve)
param <- c(a = 0.1, b = 1)
yini <- c(alpha0 = 6, beta0 = 2)
mod <- function(times, yini, param) {
with(as.list(c(yini, param)), {
gamma0 <- ifelse(times %in% seq(0,10,1), 5, 0)
## print(gamma0)
dalpha0 <- - a*alpha0 + gamma0
dbeta0 <- a*alpha0 - b*beta0
return(list(c(dalpha0, dbeta0)))
})}
times <- seq(from = 0, to = 10, by = 1/24)
out <- ode(func = mod, times = times, y = yini, parms = param)
plot(out, lwd = 2, xlab = "day")
最佳答案
这是对您的功能的非常简单的修改。如果您有兴趣知道自己做错了什么,可以查看以下内容。
mod <- function(times, yini, param) {
dt = times[2] - times[1]
with(as.list(c(yini, param)), {
gamma0 <- ifelse(times <= 10*dt, 5, 0)
## print(gamma0)
dalpha0 <- - a*alpha0 + gamma0
dbeta0 <- a*alpha0 - b*beta0
return(list(c(dalpha0, dbeta0)))
})}
times
到。
times %in% seq(0,10,1)
times
的值.
dt
的东西。 .
gamma0
根据
times
更改并希望它在前 11 (10) 个时间步长为 5,为什么要将其与
times
进行比较?为什么不简单地将这些时间步长设置为 5?
关于r - 在 deSolve 中的时间步更改参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005101/
我正在尝试编写一个按年龄分层的 SEIR 模型;也就是说,在我的微分方程中,我有一个质量作用参数,它是 20 个年龄段的 beta*(感染比例)*(易感人数)的总和。传输系数 (beta) 是根据接触
我有一个具有指定参数和初始值的捕食者-猎物模型。我在这里以两种方式求解微分方程 1. 使用 for 循环和 2. 使用 deSolve 包。我相信 for 循环是正确的,应该会给出如下图所示的输出。
我是 R 和 deSolve 的新手。我正在尝试用给定的初始参数和状态变量值求解方程。但是,最后由于我的参数没有对象而出现错误。我该如何克服这个问题?我是否为每个参数创建一个新对象? 这是模型的语法:
我正在尝试使用 deSolve 解决 R 中的 ODE .使用以下代码,我期望参数 gamma0在时间步长 0、1、2、3、4、5、6、7、8、9 和 10 处取值 5,否则取 0。然而,print(
我正在 deSolve (R) 中编写延迟微分方程,但收到一条错误消息,我不确定如何求解。所以对于一些背景。我有一个包含 12 个微分方程的系统,其中 3 个有延迟。我在没有 deSolve 的情况下
我正在尝试求解 R 中的常微分方程。我有矩阵作为初始值和我已经定义的参数。但是当我尝试解决它时,出现以下错误,当我输入单个值而不是矩阵时,该错误不会出现。 Error in (beta) %*% S
我一直在 MCMC 算法中使用 deSolve 包来估计 ODE 中的参数,并用 C 语言编写求解器中使用的函数来加速算法。有时,但并非总是如此,在运行 ode 函数时,我会收到错误 Error in
我目前正在使用 Python 探索洛伦兹系统和 R并注意到 ode 中的细微差别包。 odeint 来自 Python和 ode 都说他们使用 lsoda来计算它们的导数。但是,使用 lsoda两者的
我正在使用 deSolve 包求解 R 中的 ODE。为了加快计算速度我想使用编译代码,使用指令here 我在下面展示了一个 ODE 系统的示例 - 我正在使用下面的 Rcpp 进行编码。 ODE 系
所以我想问一下是否有任何方法可以使用矩阵表示法在 R 中定义和求解微分方程组。 我知道你通常会做类似的事情 lotka-volterra <- function(t,a,b,c,d,x,y){
我想使用 deSolve R 包中的显式 Runge-Kutta 方法 ode45(别名 rk45dp7)来求解具有可变步长的 ODE 问题。 根据 deSolve 文档,可以为 rk 使用自适应或可
我有一个 ODE,我想使用从 R 的 deSolve 包中调用的编译 C 代码来解决它。有问题的 ODE 是指数衰减模型 (y'=-d* exp(g* time)*y):但是从 R 中运行编译后的代码
我是一名优秀的程序员,十分优秀!