我不确定我是否完全理解这个问题,并且提供一些示例数据会有所帮助,但您可以定义一个函数(fun_dyn_b),该函数在Lorenz函数中定义的时间t调用b值:
parameters
state
func_dyn_b
Lorenz
with(as.list(c(state, parameters)), {
# rate of change
b
dX
# return the rate of change
list(dX)
})
}
times
head(times)
library(deSolve)
out
希望有所帮助 .
看起来你的时间没有统一的时间间隔,因此我的解决方案不起作用,因为时间需要以1为增量,从1开始(因此它可以用作索引) . 我建议您更多地查看您的时间间隔,看看您是否可以找出确切的时间间隔(0.0033秒或其他什么?)并考虑实现func_dyn_b()的方法,以便在正确的时间调用正确的b .
祝好运 .