Решение SDE в R с помощью пакета diffqr: возможно ли задать начальное число? - PullRequest
1 голос
/ 19 сентября 2019

Можно ли задать начальное число (например, R 'set.seed() функция) в пакете diffeqr в R при решении стохастических дифференциальных уравнений?

Пример

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

В документации я обнаружил, что существует возможность установить начальное число, однако, если я добавлю его в:

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

Это не сработает.Можно ли установить семена в этом пакете R?

1 Ответ

1 голос
/ 22 сентября 2019
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')

Теперь работает на difqr v0.1.3, который был только что представлен в CRAN.

Кстати, SKenCarp, вероятно, не подходит для этой проблемы, но я предполагаю, что вы тестируете ее по другим причинам.

...