嗨,您好,
我的目标是让JSL遍历两列(x1,x2)中的值,这些值用于其他列的公式中,直到满足[column(y1)-column(y2)= 0; column(z1)-列(z2)= 0]。 请注意,我要求解的方程是一个嵌套的非线性方程,其中
y1 = f1(x1,x2,x3,x4 ...)
y2 = f2(x1,x2,x3,x4 ...)
z1 = y1 + y2
z2 =独立值
在Excel中,将方程式分解为多列非常简单,以便更轻松地跟踪之间是否存在任何计算错误。 然后遍历每一行并执行求解器以遍历x1和x2直到满足客观标准。
在JMP中,使用“约束最小化”功能来复制它很难。 每次我运行脚本时,它看起来都不像在收敛,因为未达到目标目标并且值不断变化。 另外,我只能设定1个目标,而不能设定2个。 下面是我的JSL代码的示例。 请注意,column_y1和column_y2是其中包含x1和x2变量的公式列。
dt = Current Datatable();
expr1 = abs(:column_y1[i] - :column_y2[i]);
x1 = 0.5;
x2 = 0.2;
For Each Row(
i=Row();
minfun = Constrained Minimize (expr1, {x1(0.1,0.8), x2(0.01,0.5)},
<<MAXITER></MAXITER>您是否认为我需要在表达式中包含整个嵌套方程式才能起作用? 还是我在这里做错了什么。
任何帮助是极大的赞赏。 谢谢!