Auf der nichtlinearen Plattform kann ich meine eigene Gleichung angeben und dann JMP fragen, um die Koeffizienten zu lösen. In der visuellen Benutzeroberfläche kann ich einige dieser Parameter sperren und ihnen einen voreingestellten Wert geben. Wie mache ich das beim Scripting?
dt = Open("$SAMPLE_DATA\Big Class.jmp");
dt << New Column( "PredictorFormula",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
Parameter(
{b0 = 0.5, b1 = 0.6, b2 = 0.7},
b0 + b1 * :height + b2 * :height ^ 2
)
),
);
nln = Nonlinear( Y( :weight ), X( :PredictorFormula ), By( :sex ), Newton );Jetzt möchte ich mit nln sprechen und den zweiten Parameter (b1) in der ersten Instanz sperren und den Standardwert auf 0,55 ändern und b2 in Instanz 2 mit dem Standardwert 1 sperren.
Mit Xpath kann ich die NumberColEditBoxes auswählen und deren Werte ändern, aber ich kann die Sperrmarkierungen auf diese Weise nicht bearbeiten.
ValuesBoxes = nln << xpath("//NumberColEditBox/NumberColEditBoxHeader[text()='Current Value']/..");
templist = (ValuesBoxes[1] << get())[1];
templist[2] = 0.55;
ValuesBoxes[1] << set(templist);
templist = (ValuesBoxes[2] << get())[1];
templist[3] = 1;
ValuesBoxes[2] << set(templist);Ich kann die Checkbox-Spalte auswählen und die erste Checkbox abfragen oder setzen, aber nicht mehr.
CheckBoxes = nln << xpath("//CheckBoxBox");
CheckBoxes[1] << get();
CheckBoxes[1] << set(1); //Only does a toggle of the first checkbox, cannot do any other checboxUnd kurz nachdem ich die Frage gepostet hatte, beschloss ich, es noch einmal zu versuchen, und ich habe herausgefunden, wie ich sie lösen kann:
CheckBoxes[1] << get(2);
CheckBoxes[1] << set(2,1);
So prüfen Sie das zweite Kontrollkästchen und setzen es.
Aus dem Skriptindex akzeptiert die nichtlineare Plattform eine Sperrparameter-Nachricht.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Nonlinear Examples/CES Production Function.jmp" );
obj = Nonlinear( Y( :Name( "log($ value)" ) ), X( :Model ) );
obj << Set Parameter( B0 = 0.2 );
obj << Lock Parameter( B0 );
obj << Finish;
Hier ist das Beispiel direkt aus dem Scripting-Index für die Sperrparameter
Hilfe ==> Skriptindex ==> Nichtlinisch ==> Sperrparameter
Names Default To Here( 1 );
dt = Open(
"$SAMPLE_DATA/Nonlinear Examples/CES Production Function.jmp"
);
obj = Nonlinear(
Y( :Name( "log($ value)" ) ),
X( :Model )
);
obj << Set Parameter( B0 = 0.2 );
obj << Lock Parameter( B0 );
obj << Finish;