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

时间:2019-09-19 11:55:41

标签: r julia ode stochastic

在求解随机微分方程时,是否可以在R的R包中设置种子(如set.seed()的{​​{1}}函数)?

Example

diffeqr

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

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')

它不起作用。是否可以在此R包中设置种子?

1 个答案:

答案 0 :(得分:1)

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可能不是解决此问题的正确方法,但我认为您出于其他原因正在对其进行测试。