解决R中的一个ODE

问题描述 投票:1回答:1

我是R的新手,我正在尝试构建一个解决ODE的最小工作示例。我想用初始条件y(0)= 1来求解dy / dt = y。我没有任何参数,因此我尝试放置params = NULL,并且还尝试完全省略参数,这给了我以下错误:

func(时间,状态,参数,...)中的错误:未使用的参数(参数)。

鉴于我没有任何参数,所以我不确定该怎么做。我的代码在下面。

library(deSolve)
dydt <- function(y,t) {
     ydot <- y
     return(ydot)
}
tvals = c(0:5)
y0 = 1

out <- ode(y = y0, times = tvals, func = dydt, parms = NULL) 
r parameters rstudio ode
1个回答
0
投票
library(deSolve)
dydt <- function(t,y,parms) {
  ydot <-y
  list(ydot)
}
tvals = c(0:5)
y0 =1
out <- ode(y = y0, parms=NULL,times = tvals, func = dydt)

您可以从?ode中看到:

  1. 如果func是R函数,则必须将其定义为:func
  2. func的返回值应为列表因此,您需要list(ydot)而不是return(ydot)

最佳!

© www.soinside.com 2019 - 2024. All rights reserved.