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 :

Trouver le pourcentage de valeurs hors borne.


Sujet :

MATLAB

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut Trouver le pourcentage de valeurs hors borne.
    Salut,

    Alors voilà, je trace des histogrammes de différents paramètres.
    Pour une meilleur visibilité, je restreint les bornes de mes graphiques de manière à visualiser lorqu'il y a le plus grand nombre de valeurs.

    Mais je souhaiterais savoir le pourcentage des valeurs que j'exclue en faisant ça.
    Donc j'ai écris ça, qui me permet d'avoir le pourcentage, mais le pb, c'est que j'ai des NaN dans mon vecteur, et je ne sais pas comment inclure le fait que ma formule ne prenne pas en compte le NaN comme une valeur.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    %Le 17 Janvier 2006
    %
    clear all
    close all
     
    %
    %Recherche les emplacements des valeurs supérieures à la borne définie
     
     
    A=[ 2 3 4 5 6 7 8 9 10 NaN]
     
    f = find((A)>=5)
     
    %Nombre de valeurs supérieures à la borne définie
     
    P = length (f)
     
    %Pourcentage de valeurs
     
    P2 = ((P/length(A))*100)

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut
    Désolé j'ai trouvé une partie de la réponse à ma question, mais du coup j'ai un autre pb:

    Je souhaite en fait que le programme me cherche les valeurs supérieures à un intervalle. Mais quand je fais ça, j'ai un message d'erreur....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    %Le 17 Janvier 2006
    %
    clear all
    close all
     
    %
    %Recherche les emplacements des valeurs supérieures à la borne définie
     
    A=[ 2 3 4 5 6 7 8 9 10 NaN]
    int=[0:5]
    f=find(isnan(A)==0)
    f2= find((A)>=(int))
     
     
    %Nombre de valeurs supérieures à la borne définie
     
    P = length (f2)
     
    %Pourcentage de valeurs au delà de la borne définie
     
    P2 = ((P/length(f))*100)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Error using ==> ge
    Matrix dimensions must agree.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Deja un conseil :
    jamais nomer une variable int .
    Géneralement c'est un mot réservé des languages.
    Utilise my_int ou autre


    L'erreur viens d'ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int=[0:5]
    f2= find((A)>=(int))
    int est un vecteur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my_int = 5;
    f2 = find(A >= my_int);
    ++

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Il nous faut le message d'erreur complet...

    Le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> ge
    Matrix dimensions must agree.
     
    Error in ==> tests at 4
    f2= find((A)>=(int))

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Je pense que ça t'ira :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    A=[ 2 3 4 5 6 7 8 9 10 NaN]
    my_int=[0:5]
    f=find(isnan(A)==0)
    f2= find(A>=5)   
    % ou 
    %f2= find(A>=max(my_int))
     
     
    %Nombre de valeurs supérieures à la borne définie
     
    P = length (f2)
     
    %Pourcentage de valeurs au delà de la borne définie
     
    P2 = ((P/length(f))*100)

  6. #6
    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 955
    Points
    52 955
    Par défaut
    Et sans le FIND :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    A=[ 2 3 4 5 6 7 8 9 10 NaN]
    my_int=[0:5]
    f = isnan(A)==0;
    f2= A>=5;
    % ou 
    %f2= A>=max(my_int)
     
     
    %Nombre de valeurs supérieures à la borne définie
     
    P = sum(f2)
     
    %Pourcentage de valeurs au delà de la borne définie
     
    P2 = ((P/sum(f))*100)

  7. #7
    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 955
    Points
    52 955
    Par défaut
    Citation Envoyé par Dut Voir le message
    Ou


  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut
    Merci beaucoup à tous pour votre aide précieuse.
    Je ne sais pas ce que je ferai sans vous.....à part passer des heures et des heures à trouver une solution....
    Vivement que je devienne un peu meilleur....



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

Discussions similaires

  1. Points hors bornes et diagramme de Pareto
    Par did10 dans le forum R
    Réponses: 9
    Dernier message: 28/07/2009, 16h16
  2. Selection de valeur hors Liaison entre table
    Par Nicouf dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 05/02/2009, 12h08
  3. Comment trouver des paires de valeurs ?
    Par Jimy6000 dans le forum Excel
    Réponses: 11
    Dernier message: 30/01/2008, 08h01
  4. Trouver la position des valeurs d'un vecteur
    Par hidies dans le forum MATLAB
    Réponses: 3
    Dernier message: 12/04/2007, 13h33
  5. Msg d'erreur: Erreur de traduction. Valeur hors des limites
    Par Zoilus dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/12/2005, 17h15

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