我正在尝试在 OPL 脚本(执行 block )中初始化矩阵 每个元素必须设置为 float (> 0)
脚本中无法识别 pow 函数,因此我尝试了 ^ 运算符...但这不是我所期望的:引用文献说“^ 在 OPL 中表示幂,在脚本中表示按位异或”
所以现在我只使用了 for() 循环,它可以工作,但不接受 float 权力:
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() 等效的函数? 否则我该怎么办? 请注意,在脚本 block (execute{})之外无法识别 for() block
最佳答案
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);
}
}
关于javascript - OPL 脚本中的幂函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24805552/