Valore non valido, double

di il
2 risposte

Valore non valido, double

Ciao
ho un array colonna "A" e devo calcolare dei quantili.

Il problema è che all'interno sono presenti dei dati non validi, indicati con un numero specifico (dati da 1 a 10, valore non valido 5555).
Se uso la funzione "quantile(A,%)" al 99% ovviamente mi restituisce 5555.

La mia domanda è:
è possibile tenere l'array come double e sostituire i 5555 con dei "valori non validi" che la funzione quantile non prende in considerazione? Se si, quale sarebbe il codice per indicare valore non valido?
In alternativa, è possibile impostare un intervallo di funzionamento della funzione quantile? Cioè da 1 a 10 tralasciando tutti i valori inferiori e superiori?

Non uso matlab da tanto quindi se avete alternative a cui non ho pensato sono accolte con entusiasmo.

Grazie mille!!

2 Risposte

  • Re: Valore non valido, double

    Nella descrizione della funzione quantile è riportato:
    [...]
    quantile treats NaNs as missing values, and removes them.
    Dunque è possibile tenere l'array come double e sostituire i 5555 con dei "valori non validi" che la funzione quantile non prende in considerazione?: si possono sostituire i valori "5555" con "NaN" in modo semplice.

    Dato il vettore "A":
    
    A(A == 5555)=NaN
    
    La seconda parte della domanda non è molto chiara, tuttavia, se, dato un array A se ne vogliono eliminare alcuni elementi (nello specifico quelli uguali a "5555"):
    
    % Creazione di una copia dell'array A
    B=A
    B(A == 5555)=[]
    
  • Re: Valore non valido, double

    Perfetto, funziona tutto come volevo!

    Grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte