我正在尝试解决R
使用Diffeqr package
.
让我们将系统简化为一个简单的 ODE:
# Packages
library(tidyverse)
library(diffeqr)
library(JuliaCall)
diffeq_setup()
# Drift function
f <- function(u,p,t){
du1 = p[1]
return(c(du1))
}
# Diffusion function
g <- function(u,p,t){
du1 = 0 # note that there is currenlty no noise
}
u0 = 1
tspan <- list(0.0, 100)
p = 1
sol = sde.solve(f, g, u0, seed = 1, tspan, p=p, saveat=0.05)
udf=as.data.frame(sol$u)
udf <- udf %>% rownames_to_column(var = "time")
udf <- udf %>% rename(y=`sol$u`)
plot(udf$time, udf$y, type = "l", xlim = c(0,400))
我想知道是否可以随时间改变参数?我试图p=1
用p=c( c(1,2,3,4,5) )
(例如)替换,但这不起作用。
或者是否有其他解决方案可以解决 R 中具有时间相关参数的 SDE 系统?