0

我有一个需要解决 40 多个 ODE 的系统,通常可以使用诸如 intel ODE 之类的库来完成。由于这个问题的性质,这些库只将数组作为参数。这样,我必须将 ODE 的所有状态放入一个数组中,例如 Y[0]、...、Y[39]。显然,这使得整个程序读起来和写起来都很痛苦。我每次都必须检查 Y[i] 表示什么!

那么,有什么好的方法可以为这些数组使用别名吗?另外,我正在考虑将所有系统放入一个类中,这使得使用对数组元素的引用更加困难。

4

1 回答 1

3

您可以使用枚举作为 Y 的索引:

enum Quantities {
  kDistance,
  kVelocity,
  kAcceleration,
  ...
};

现在你可以在任何地方写Y[kDistance]代替Y[0].

或者,您可以为每个数组元素定义命名引用:

double Y[40];
double& Distance = Y[0];
double& Velocity = Y[1];
...

现在你可以在任何地方写Distance代替Y[0].

于 2013-08-03T23:27:42.137 回答