Wir können eine benutzerdefinierte Formel im benutzerdefinierten Profiler definieren, und es ist ganz einfach, wie das folgende Beispiel zeigt
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;
Nehmen wir nun an, dass ich den Koeffizientenwert von 0,5 auf eine andere Einstellung ändern möchte. Also definiere ich folgende Formel:
coef=4;
myFormula=Parse(eval(EvalExpr(":Pred Formula ABRASION + "||Char(coef)||" * :Pred Formula MODULUS")));
das Ergebnis im Log ist ok:
:Pred Formula ABRASION + 4 * :Pred Formula MODUL
aber wenn ich denselben Satz in der vorherigen Aussage verwende, gelingt es mir nicht, das erwartete Ergebnis zu erzielen:
obj << Objective Formula(Parse(eval(EvalExpr(":Pred Formula ABRASION + "||Char(coef)||" * :Pred Formula MODULUS"))));

Ich habe wahrscheinlich einen grundlegenden Fehler gemacht, aber ich habe Probleme damit. und ich möchte diese Methode an eine komplexere Situation anpassen (Änderung der Erwünschtheitskoeffizienten im nativen Ausdruck)
Vielen Dank für Ihre Vorschläge