8

最近 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 tsand input_signal_vectorin x_r 然后在这个数组中搜索。但我无法想象这是这些参数的预期用途。这也将是极其低效的。

因此,如果有人能说明应该如何解决这种情况,我将不胜感激。

4

0 回答 0