IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Problème de gestion des NaN [Débutant]


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'étude en Climatologie
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chargé d'étude en Climatologie
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Problème de gestion des NaN
    Bonjour,
    Je suis actuellement en stage et je travail uniquement sous matlab.
    Mon problème est lié à la prise en compte des NaN sous matlab.

    J'ai une matrice nommée TOTOS21 (177,193,24,31) elle comprend des valeurs de 1 à 11 et des NaN
    je veux déterminer les pourcentages de chaque valeurs et donc j'ai écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TOTO21=permute(TOTO21,[1,2,4,3]);
    TOTOS21=reshape(TOTO21,177*193*31,24);
     
    for n=1:24
     TOTOS1=TOTOS21(:,n); 
     for i=1:11;
        vect1(i)=length(find(TOTOS1==i));
     end
    NEBOSX11_01(n,:)=vect1.*100./1058991;
    end;
    Lorsque j'arrive sur la dernière partie, (NEBOSX11_01(n,:)=vect1.*100./1058991) les NaN ne sont plus considéré et donc le diviseur 1058991 varie en fonction de la présence ou non de NaN.

    Y a t il possibilité d'intégrer une prise en compte du nombre de NaN pour chaque n pour que le diviseur varie en fonction de leur nombre?

    Merci d'avance

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Si j'ai bien compris, tu veux renormaliser les occurences par le nombre d'éléments non nans

    Quelques remarques tout d'abord:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    length(find(TOTOS1==i)); <=> sum(TOTOS1==i)
    Cette boucle est inutile car sum(TOTOS21== i) renvoie une vecteur contenant la somme pour chaque colonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    vect1=[];
    for i=1:11;
       vect1(i)= sum(TOTOS21==i)  ./ sum(~isnan(TOTOS21));
    end

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'étude en Climatologie
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chargé d'étude en Climatologie
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci pour votre réponse.
    l'utilisation de
    répond à ma question et effectivement une partie de mon code était inutile

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de gestion des exceptions
    Par Artasali dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/02/2007, 03h20
  2. Réponses: 3
    Dernier message: 18/01/2007, 16h25
  3. [SQL 2005] problèmes de gestion des chiffres décimaux
    Par skystef dans le forum Accès aux données
    Réponses: 1
    Dernier message: 10/01/2007, 11h40
  4. Problème de gestion des langues avec MFC
    Par Figaro dans le forum Visual C++
    Réponses: 4
    Dernier message: 20/11/2006, 15h56
  5. [FLASH 8] Problème de gestion des clips.
    Par glingo dans le forum Flash
    Réponses: 4
    Dernier message: 09/03/2006, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo