Bucle de la función derivada en JSL
Hola comunidad de usuarios de JMP, he estado luchando durante bastante tiempo con una función JSL y quería comunicarme para ver si alguno de ustedes podría ayudar.
Entonces, lo que quiero que haga el script es básicamente tomar una expresión de fórmula de un modelo de regresión polinómica y luego construir las derivadas parciales con respecto a cada factor. Idealmente, crearía una lista de todos los factores incluidos en la fórmula. Luego, recorrería la lista e introduciría un factor tras otro en la función derivada para calcular todas las fórmulas de derivadas parciales y guardarlas por separado. El problema es que no logro encontrar la manera de crear un bucle que formatee los nombres de los factores de forma que la función derivada acepte. Ya lo he intentado varias veces, pero nada parece funcionar. Las únicas dos maneras de calcular correctamente la derivada parcial las adjunté en el archivo de ejemplo JSL.
¿Alguien tiene experiencia con esta función o puede ayudarme a crear el formato de entrada correcto para la función derivada dentro del bucle? ¡Agradecería mucho su ayuda!
Automatización y scriptingRe: Bucle de la función derivada en JSLPodrías evaluar el artículo como Derivado
Names Default To Here(1);
formula_expr = Expr(
48.5137619590147 + -5.01848924914286 * :"Factor 1"n + -6.30434548201033 * :"Factor 2"n
+4.98953779772742 * :"Factor 3"n + 4.94156314686837 * :"Factor 4"n + -8.10632041659685 *
:"Factor 5"n + -15.9138137782692 * :"Factor 1"n * :"Factor 1"n + 5.67284677635098 *
:"Factor 2"n * :"Factor 2"n
);
///// Working example 1
derivative_expr = Derivative(Name Expr(formula_expr), :Name("Factor 1"));
Show(derivative_expr);
///// Working example 2
derivative_expr = Derivative(Name Expr(formula_expr), :"Factor 1"n);
Show(derivative_expr);
//// What the loop should look like (not working)
factorList = {:"Factor 1"n, :"Factor 2"n, :"Factor 3"n, :"Factor 4"n, :"Factor 5"n};
For Each({factor_item}, factorList,
derivative_expr = Eval(EvalExpr(
Derivative(Name Expr(formula_expr), Expr(Name Expr(factor_item)));
));
Show(derivative_expr);
);
Re: Bucle de la función derivada en JSL¡Muchas gracias, jthi! Esto lo solucionó.:) Lo implementé con éxito en mi script.
Agradezco tu ayuda