Re: ¿Cómo hacer que las expresiones funcionen en sentencias?En su declaración del generador de perfiles, le está diciendo a JMP que evalúe la variable fs y coloque lo que sea devuelto en la expresión de inicio del generador de perfiles adjunta.En este caso, necesita la evaluación de fs para devolver la expresión.Para ver qué devuelve fs cuando lo evalúa, puede resaltar la variable y hacer clic en el botón Ejecutar.Cuando haga esto, JMP generará un error porque está tratando de evaluar la expresión.Esa expresión no es una declaración JSL válida por sí misma.
En resumen, no desea evaluar la expresión contenida por fs, desea obtener la expresión en sí.Para ello, utilice la función NameExpr().Prueba esto:
fs = Expr( Factors( L1 << random( normal( 0, 0.5 ) ), L12 << random( normal( 0, 0.5 ) ) ) );
Eval(
Eval Expr(
dt << Profiler(
Y( :Y ),
Profiler(
1,
Simulator(
1,
Expr( Name Expr( fs ) ),
Responses( Y << No Noise ),
N Runs( 1000000 ),
Resimulate
)
)
)
)
);Re: ¿Cómo hacer que las expresiones funcionen en declaraciones?Gracias por la rápida respuesta, muchas gracias!
Re: ¿Cómo hacer que las expresiones funcionen en sentencias?No sé por qué, pero ninguno de los códigos después de Expr( Name Expr( fs ) ) funciona. ¿Puedes ayudarme a mirarlo? Por ejemplo, N Ejecuciones (1000000)
Re: ¿Cómo hacer que las expresiones funcionen en sentencias?Si sigues teniendo el problema, estaré encantado de echarle un vistazo.¿Puedes publicar la tabla de datos que estás usando?
¿Cómo hacer que las expresiones funcionen en declaraciones?Usé el bucle para generar una expresión de factores() con el contenido de los paréntesis. Pero no funciona en la declaración de simulación de datos del DOE.
fs = Expr(Factors(L1 << random(normal(0, 0.5)), L12 << random(normal(0, 0.5))) );
eval(evalexpr(dt << Profiler(
Y( :Y ),
Profiler(
1,
Simulator(
1,
Expr(fs),
Responses( Y << No Noise ),
N Runs( 1000000 ),
Resimulate
)
)
)));Modelado Estadístico AvanzadoMac OS