示例#1
0
  public MDP() {
    for (int hIdx = -nh; hIdx <= nh; hIdx++) //
    {
      for (int oVyIdx = -noVy; oVyIdx <= noVy; oVyIdx++) //
      {
        for (int iVyIdx = -niVy; iVyIdx <= niVy; iVyIdx++) {
          for (int raIdx = 0; raIdx < nra; raIdx++) //
          {
            State_Ctrl state = new State_Ctrl(hIdx, oVyIdx, iVyIdx, raIdx);
            cStates[state.getOrder()] = state;
          }
        }
      }
    }

    sigmaPointsA.add(new ThreeTuple<>(0.0, 0.0, 1.0 / 2));
    sigmaPointsA.add(new ThreeTuple<>(0.0, Math.sqrt(2.0) * WHITE_NOISE_SDEV, 1.0 / 4));
    sigmaPointsA.add(new ThreeTuple<>(0.0, -Math.sqrt(2.0) * WHITE_NOISE_SDEV, 1.0 / 4));

    sigmaPointsB.add(new ThreeTuple<>(0.0, 0.0, 1.0 / 3));
    sigmaPointsB.add(new ThreeTuple<>(Math.sqrt(3.0) * WHITE_NOISE_SDEV, 0.0, 1.0 / 6));
    sigmaPointsB.add(new ThreeTuple<>(-Math.sqrt(3.0) * WHITE_NOISE_SDEV, 0.0, 1.0 / 6));
    sigmaPointsB.add(new ThreeTuple<>(0.0, Math.sqrt(3.0) * WHITE_NOISE_SDEV, 1.0 / 6));
    sigmaPointsB.add(new ThreeTuple<>(0.0, -Math.sqrt(3.0) * WHITE_NOISE_SDEV, 1.0 / 6));
  }