使用 Diffeqr 包解决 R 中的 SDE:可以设置种子吗?

Solving SDEs in R with Diffeqr package: possible to set seed?

是否可以在 R 的 diffeqr 包中设置种子(如 Rset.seed() 函数),同时求解随机微分方程?

Example

library(diffeqr)
f <- function(u,p,t) {
  return(1.01*u)
}
g <- function(u,p,t) {
  return(0.87*u)
}
u0 = 1/2
tspan <- list(0.0,1.0)
sol = sde.solve(f,g,u0,tspan, alg = "SKenCarp()")
udf = as.data.frame(sol$u)
plotly::plot_ly(udf, x = sol$t, y = sol$u, type = 'scatter', mode = 'lines')

我在 documentation 中发现可以设置种子,但是,如果我将其添加到:

sde.solve(f,g,u0,tspan, alg = "SKenCarp()", seed = 123)

这行不通。是否可以在此 R 包中设置种子?

library(diffeqr)
diffeqr::diffeq_setup()
f <- function(u,p,t) {
  return(1.01*u)
}
g <- function(u,p,t) {
  return(0.87*u)
}
u0 = 1/2
tspan <- list(0.0,1.0)
sol = sde.solve(f,g,u0,tspan, alg = "SKenCarp()", seed=1)
udf = as.data.frame(sol$u)
plotly::plot_ly(udf, x = sol$t, y = sol$u, type = 'scatter', mode = 'lines')

现在正在处理刚刚提交给 CRAN 的 diffeqr v0.1.3。

顺便说一句,SKenCarp 可能不是解决此问题的正确方法,但我假设您出于其他原因正在测试它。