Re: Encuentra la mediana de la listaEsa no es una lista de números. Esa es una lista de matrices 1x1. ¿Cuál es la mediana de una lista de matrices? Intenta de esta manera:
Print(
Eval List(
Quantile(
0.5,
{-0.368200035870304, 0.049749270873994, 0.612391979268901, 1.15772787379131, -0.10485383375963}
)
)
);Re: Encuentra la mediana de la lista¿Tiene alguna sugerencia sobre cómo usar la variable en la función? Mi variable phiNew es una salida de varias otras funciones y realmente no tengo la opción de especificar los valores dentro de la función Cuantil. He intentado como lista (phiNew) pero sigo obteniendo el mismo resultadoRe: Encuentra la mediana de la listaVeo. Este script muestra todos los pasos que comienzan con el resultado devuelto por otra función. Los pasos podrían combinarse mediante funciones de anidación para hacer que el código sea más conciso, pero quería que el razonamiento fuera claro.
Names Default to Here( 1 );
result = {[-0.368200035870304], [0.049749270873994], [0.612391979268901], [1.15772787379131], [-0.10485383375963]};
result = Char( result );
result = Substitute( result,
"[", "",
"]", ""
);
result = Parse( result );
print(Eval List (Quantile (0.5, result)));Re: Encuentra la mediana de la listaPuede evitar convertir los números a caracteres y viceversa de esta manera:
result = {[-0.368200035870304], [0.049749270873994], [0.612391979268901], [1.15772787379131], [-0.10485383375963]};
Substitute Into( result, Expr( {} ), Expr( V Concat() ) ); // make a col vector
result = Eval( result );
Show( result );
//result = [-0.368200035870304, 0.049749270873994, 0.612391979268901, 1.15772787379131, -0.10485383375963];
// or
result = {[-0.368200035870304], [0.049749270873994], [0.612391979268901], [1.15772787379131], [-0.10485383375963]};
Substitute Into( result, Expr( {} ), Expr( Concat() ) ); // make a row vector
result = Eval( result );
Show( result );
// result = [-0.368200035870304 0.049749270873994 0.612391979268901 1.15772787379131 -0.10485383375963];Las funciones Vconcat o Concat concatenan matrices, vertical u horizontalmente. La función SubstituteInto opera en las expresiones, convirtiendo las llaves en un operador VConcat o Concat. Si observa el resultado después del sustituto, antes de la evaluación, verá que sigue siendo una expresión:
Show( result );
/*:
result = [-0.368200035870304] |/ [0.049749270873994] |/ [0.612391979268901] |/ [1.15772787379131] |/ [-0.10485383375963];
donde | / es el operador VConcat. Después de Eval, es una matriz como se muestra en el comentario. La matriz será un vector col o fila dependiendo de qué dirección de concatenación se use.
¡Cualquiera que sea el enfoque que adopte, deje un comentario en su JSL sobre lo que hace y por qué!
Encuentra la mediana de la listaEstoy buscando evaluar la mediana de mi lista:
{[-0.368200035870304], [0.049749270873994], [0.612391979268901], [1.15772787379131], [-0.10485383375963]}
usando el siguiente código:
print (Lista de evaluación (Cuantil (0.5, phiNew)));donde phiNew es el nombre donde se encuentra la lista. La salida da como resultado ".". ¿Alguna idea de por qué no puedo hacer que la mediana de mi lista funcione correctamente?