我们可以在自定义分析器中定义一个自定义公式,这很容易,如下例所示
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = Custom Profiler( Y( :Pred Formula ABRASION, :Pred Formula MODULUS ) );
obj << Objective Formula(
:Pred Formula ABRASION + .5 * :Pred Formula MODULUS
);
obj << Optimize;
现在,假设我想将系数值从 0.5 更改为另一个设置。 所以我定义了以下公式:
coef=4;
myFormula=Parse(eval(EvalExpr(":Pred Formula ABRASION + "||Char(coef)||" * :Pred Formula MODULUS")));
日志中的结果没问题:
:Pred Formula ABRASION + 4 * :Pred Formula MODULUS
但是,如果我在前面的语句中使用相同的句子,我不会成功获得预期的结果:
obj << Objective Formula(Parse(eval(EvalExpr(":Pred Formula ABRASION + "||Char(coef)||" * :Pred Formula MODULUS"))));

我可能犯了一个基本错误,但我遇到了麻烦。我想使这种方法适应更复杂的情况(改变本机表达式中的合意性系数)
谢谢你的建议