我是R的新手,我正在尝试为解决ODE构建一个最小的工作示例。我想用初始条件y(0)= 1来求解dy / dt = y。我没有任何参数,所以我尝试放置def pretty(d, indent=0):
for i in d:
for key, value in i.items():
print('\t' * indent + str(key) + ' {')
if isinstance(value, list):
for item in value:
if isinstance(item, dict):
for key_1, value_1 in item.items():
if isinstance(value_1, list):
print('\t' * (indent + 2) + str(key_1) + ' {')
for x in value_1:
for key_2, value_2 in x.items():
print('\t' * (indent + 3) + str(key_2) + 4 * ' ' + str(value_2))
print('\t' * (indent + 2) + '}')
else:
print('\t' * (indent + 1) + str(key_1) + 4 * ' ' + str(value_1))
print('}')
,并且还尝试完全省略该参数,这给了我以下几点错误:
func(时间,状态,参数,...)错误:未使用的参数(参数)。
鉴于我没有任何参数,所以我不确定该怎么做。我的代码在下面。
params = NULL
答案 0 :(得分:2)
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
中可以看到:
list(ydot)
而不是return(ydot)
最好!