2

我正在尝试在 OPL 脚本中初始化一个矩阵(一个执行{}块)每个元素都必须设置为浮点幂(> 0)

脚本中无法识别 pow 函数,因此我尝试了 ^ 运算符......但这不是我所期望的:参考资料说“^ 表示 OPL 中的幂和脚本中的按位异或”

所以现在我只使用了一个 for() 循环,它可以工作但不接受浮动幂:

var temp;
for (var p = 1; p<=nbP; p++){
   for (var n = 1; n <= nbC; n++){
       temp = w[n][p] / i[p];
       MATRIX[n][p] = 1;
       for (var i = 1; i <= desiredPower; i++){
          MATRIX[n][p] = tempNGSI * MATRIX[n][p];
       }   
   }           
}

OPL 脚本中是否有 pow() 的等价物?我该怎么做?请注意,在脚本块之外无法识别 for() 块(执行{})

4

1 回答 1

2

OPL 脚本(就像它的表亲 javascript)具有包含在 Math 对象中的基本数学函数。

for (var p = 1; p<=nbP; p++){
   for (var n = 1; n <= nbC; n++){
       MATRIX[n][p] = Math.pow(w[n][p] / i[p], desiredPower);
   }           
}
于 2014-07-17T16:31:56.863 回答