首页 > 解决方案 > 如何指定索引最高的数组组件?

问题描述

假设 stan 文件中有以下内容。

transformed parameters {

  real <lower=0,upper=1>p[C];

}

其中C是数据块指定的正整数。

然后p[1]我们可以提取第一个组件。p[C]还提取C-th 组件?还是p[C]表示集合p[1],p[2],....p[C]

例如,代码p[C] = 1是什么意思?

1)只有第C个组件p是一个

或者

2) p (ie, p[1],p[2],....p[C]) 的所有分量都是一。

标签: stanrstan

解决方案


在你的例子中,

transformed parameters {
  real<lower = 0, upper = 1> p[C]; // multivalued
  p[C] = 1; // scalar
}

的第一个C-1元素p是未定义的,尽管它是有效的语法,但这可能并不好。

或者,

transformed parameters {
  real<lower = 0, upper = 1> p[C] = rep_array(1, C);
}

将 的所有元素定义p为 1。


推荐阅读