Ri: Trova la mediana dell'elencoQuesto non è un elenco di numeri. Questo è un elenco di matrici 1x1. Qual è la mediana di un elenco di matrici? Prova in questo modo invece:
Print(
Eval List(
Quantile(
0.5,
{-0.368200035870304, 0.049749270873994, 0.612391979268901, 1.15772787379131, -0.10485383375963}
)
)
);Ri: Trova la mediana dell'elencohai qualche suggerimento su come usare la variabile nella funzione? La mia variabile phiNew è un output di molte altre funzioni e non ho davvero la possibilità di specificare i valori all'interno della funzione Quantile. Ho provato As List (phiNew) ma ho ancora lo stesso outputRi: Trova la mediana dell'elencoVedo. Questo script mostra tutti i passaggi che iniziano con il risultato restituito da un'altra funzione. I passaggi potrebbero essere combinati annidando le funzioni per rendere il codice più conciso, ma volevo che il ragionamento fosse chiaro.
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)));Ri: Trova la mediana dell'elencoPuoi evitare di convertire i numeri in carattere e viceversa in questo modo:
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];Le funzioni Vconcat o Concat concatenano le matrici, verticalmente o orizzontalmente. La funzione SubstituteInto opera sulle espressioni, convertendo le parentesi graffe in un operatore VConcat o Concat. Se guardi il risultato dopo il sostituto, prima della valutazione, vedrai che è ancora un'espressione:
Show( result );
/*:
result = [-0.368200035870304] |/ [0.049749270873994] |/ [0.612391979268901] |/ [1.15772787379131] |/ [-0.10485383375963];
dove | / è l'operatore VConcat. Dopo l'Eval, è una matrice come mostrato nel commento. La matrice sarà un vettore di col o riga a seconda della direzione di concatenazione utilizzata.
Qualunque sia il tuo approccio, lascia un commento nella tua JSL su cosa fa e perché!
Trova la mediana dell'elencoSto cercando di valutare la mediana del mio elenco:
{[-0.368200035870304], [0.049749270873994], [0.612391979268901], [1.15772787379131], [-0.10485383375963]}
utilizzando il seguente codice:
print (Eval List (Quantile (0.5, phiNew)));dove phiNew è il nome in cui si trova l'elenco. L'output risulta in ".". Hai idea del perché non riesco a far funzionare correttamente la mediana della mia lista?