在求解随机微分方程时,是否可以在R的R
包中设置种子(如set.seed()
的{{1}}函数)?
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包中设置种子?
答案 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
可能不是解决此问题的正确方法,但我认为您出于其他原因正在对其进行测试。