Re: Trouver la médiane de la listeCe n'est pas une liste de chiffres. C'est une liste de matrices 1x1. Quelle est la médiane d'une liste de matrices? Essayez plutôt de cette façon:
Print(
Eval List(
Quantile(
0.5,
{-0.368200035870304, 0.049749270873994, 0.612391979268901, 1.15772787379131, -0.10485383375963}
)
)
);Re: Trouver la médiane de la listeavez-vous des suggestions sur la façon d'utiliser la variable dans la fonction? Ma variable phiNew est une sortie de plusieurs autres fonctions et je n'ai pas vraiment la possibilité de spécifier les valeurs à l'intérieur de la fonction Quantile. J'ai essayé As List (phiNew) mais j'obtiens toujours la même sortieRe: Trouver la médiane de la listeJe vois. Ce script montre toutes les étapes commençant par le résultat qui vous est retourné par une autre fonction. Les étapes pourraient être combinées par des fonctions d'imbrication pour rendre le code plus concis, mais je voulais que le raisonnement soit clair.
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: Trouver la médiane de la listeVous pouvez éviter de convertir les nombres en caractères et inverser comme ceci:
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];Les fonctions Vconcat ou Concat concaténent des matrices, verticalement ou horizontalement. La fonction SubstituteInto opère sur les expressions, convertissant les accolades en un opérateur VConcat ou Concat. Si vous regardez le résultat après le substitut, avant l'évaluation, vous verrez que c'est toujours une expression:
Show( result );
/*:
result = [-0.368200035870304] |/ [0.049749270873994] |/ [0.612391979268901] |/ [1.15772787379131] |/ [-0.10485383375963];
où | / est l'opérateur VConcat. Après l'Eval, c'est une matrice comme le montre le commentaire. La matrice sera un vecteur col ou ligne selon la direction de concaténation utilisée.
Quelle que soit l'approche que vous adoptez, laissez un commentaire dans votre JSL sur ce qu'il fait et pourquoi!
Trouver la médiane de la listeJe cherche à évaluer la médiane de ma liste:
{[-0.368200035870304], [0.049749270873994], [0.612391979268901], [1.15772787379131], [-0.10485383375963]}
en utilisant le code suivant:
print (Eval List (Quantile (0,5, phiNew)));où phiNew est le nom où se trouve la liste. La sortie donne ".". Une idée pourquoi je n'arrive pas à faire fonctionner correctement la médiane de ma liste?