最近 stan 添加了该integrate_ode
方法。不幸的是,我能找到的唯一文档是stan 参考手册(第 191 页)。我有一个需要一些驱动信号的模型。据我了解该参数x_r
并且x_i
应该用于此。
为了具体示例,假设我想通过以下更改来实现文档中的示例:
real[] sho(real t,
real[] y,
real[] theta,
real[] x_r,
int[] x_i) {
real dydt[2];
real input_signal; // Change from here!!!
input_signal <- how_to(t, x_r, x_i);
dydt[1] <- y[2] + input_signal; // Change to here!!!
dydt[2] <- -y[1] - theta[1] * y[2];
return dydt;
}
输入信号应该是输入的时间序列 - 假设我提交input_signal_vector <- sin(t) + rnorm(T, sd=0.1)
(应该是 中时间点的信号ts
)并且我计划使用input_signal
最接近的时间值。
我能想象的唯一方法是可以 concat ts
and input_signal_vector
in x_r 然后在这个数组中搜索。但我无法想象这是这些参数的预期用途。这也将是极其低效的。
因此,如果有人能说明应该如何解决这种情况,我将不胜感激。