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 :

Mettre un NaN après un NaN déja existant


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Doctorant
    Inscrit en
    Mai 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 76
    Points : 57
    Points
    57
    Par défaut Mettre un NaN après un NaN déja existant
    Bonjour,

    J'ai un vecteur avec des taux de précipitations et par endroit des NaN
    exemple: NaN NaN 12 6 9 1 6 NaN NaN NaN 21 3 1 0 0 1

    Je souhaite faire une boucle pour lui dire qu'après chaque NaN il mette un nouveau NaN
    J'aurai donc: NaN NaN NaN 6 9 1 6 NaN NaN NaN NaN 3 1 0 0 1. Ainsi la valeur 12 et la valeur 21 est remplacer par un NaN

    J'ai penser à un indexage logique pour remplacer ma valeur du type : X((X==isnan(X))+1)=NaN; (avec X mon vecteur) mais il me remplace toutes les valeurs de "1" par des NaN.

    Comment puis-je faire ?

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Doctorant LNE Trappes
    Inscrit en
    Mai 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Doctorant LNE Trappes
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 64
    Points : 174
    Points
    174
    Par défaut
    Comme ceci :

    Code m : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    m=[NaN NaN 12 6 9 1 6 NaN NaN NaN 21 3 1 0 0 1]
    m(find(isnan(m))+1)=NaN

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 318
    Points : 52 958
    Points
    52 958
    Par défaut
    Une solution similaire sans find :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m([false isnan(m(1:end-1))]) = NaN
    A lire : Méthodes d'indexage

  4. #4
    Membre du Club
    Femme Profil pro
    Doctorant
    Inscrit en
    Mai 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 76
    Points : 57
    Points
    57
    Par défaut
    Merci beaucoup il me manquait la fonction "find"

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

Discussions similaires

  1. Uitable créé par Guide : NaN après sélection d'un item de popumenu
    Par kracter56 dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 09/07/2014, 11h21
  2. Mettre en groupe les valeurs NaN
    Par jena dans le forum MATLAB
    Réponses: 4
    Dernier message: 27/03/2014, 10h59
  3. Réponses: 11
    Dernier message: 01/12/2006, 11h27
  4. Ouvrir un fichier excel déja existant
    Par lynal dans le forum Langage
    Réponses: 9
    Dernier message: 24/06/2006, 01h03
  5. [FPDF] Comment mettre une annotation sur un Pdf déjà existant en PHP
    Par shequet dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/09/2005, 12h23

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