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

Signal Discussion :

Compter des élements d'un vecteur


Sujet :

Signal

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Compter des élements d'un vecteur
    Bonjour,
    -Avec matlab, je voulais faire la somme cumulative des nombres des éléments des 10 vecteurs retrouvés sur chacun des 4 intervalles.
    -répéter l'opération dix fois sachant que la longueur du vecteur varie et -le nombre des éléments inclus dans chaque intervalle varie.
    -j'ai le 1er vecteur X=[120 160 220 430]; les 9 autres vecteur ayant des valeurs entres 1 et 500 et que la longueur de chacun peut varier.

    j'ai fait ce code mais je n'arrive pas à trouver un résultat correct

    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
    22
    23
    24
    25
    26
    27
    28
    29
     
    N=10;
     
    a1=0;
    a2=0;
    a3=0;
    a4=0;
     
    For k=1:N;
     
         M=length(X);
     
         for j=1:M
     
             if 100<=X(j)<=200
                 a1=a1+1; 
             elseif 200<X(j)<=300
                 a2=a2+1; 
             elseif 300<X(j)<=400
                 a3=a3+1; 
             else X(j)<100|X(j)>400
                 a4=a4+1; 
             end
     
         end
    end;
     
     
    % a1 final doit présenter le nombre d'éléments retrouvé dans le 1er intervalle l'opération répétée 10 fois.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 166
    Points
    53 166
    Par défaut
    La syntaxe suivante est incorrecte :

    Il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if 100<=X(j) & X(j)<=200
    ou encore , comme X(j) est un scalaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if 100<=X(j) && X(j)<=200
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 14
    Points : 14
    Points
    14
    Par défaut compter et sommer des éléments d'un vecteur avec répétition
    Bonjour,
    -Avec matlab, je voulais faire la somme cumulative des nombres des éléments des 10 vecteurs retrouvés sur chacun des 4 intervalles.
    -répéter l'opération dix fois sachant que la longueur du vecteur varie et le nombre des éléments inclus dans chaque intervalle varie.
    -j'ai le 1er vecteur X=[120 160 220 430]; les 9 autres vecteur ayant des valeurs entres 1 et 500 et que la longueur de chacun peut varier.

    voiçi une rectification de la fonction comme vous m'avez indiqué.
    X=[120 160 220 430]; est calculé dans main (le prog. principal).
    "main" contient [a1 a2 a3 a4]=itérations(X, M); pour son appel
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    function [a1 a2 a3 a4]=itérations(X, M);
     
    N=10;
     
    a1=0;
    a2=0;
    a3=0;
    a4=0;
     
    for k=1:N;
     
         M=length(X);
     
      for j=1:M
         if 100<=X(j) && X(j)<=200
            a1=a1+1; 
             elseif 200<X(j) && X(j)<=300
                 a2=a2+1; 
             elseif 300<X(j) && X(j)<=400
                 a3=a3+1; 
             else 
                 a4=a4+1; 
          end
     
      end;
     
    end
     
    end
    l'indice k (k=1:N) n'est pas mi dans le code, pour chaque itération, comment le prog. va comprendre et fait tourner le code 10 fois en faisant une somme cumulative en vérifiant les intervalles. Faut-il faire la boucle des 10 itération que dans main, comment faire une boucle ?
    for k=1:10; dans main

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Les deux solutions sont possibles.

    On peut boucler dans le "main" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    N = 10;
    X = ...
     
    for n = 1:N
     
       a = iterations(X(n))
     
    end
    avec

    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
    function a = iterations(X)
     
    a = zeros(1,4);
     
    M = length(X);
     
    for j = 1:M
     
        if 100<=X(j) && X(j)<=200
            a(1)=a(1)+1;
        elseif 200<X(j) && X(j)<=300
            a(2)=a(2)+1;
        elseif 300<X(j) && X(j)<=400
            a(3)=a(3)+1;
        else
            a(4)=a(4)+1;
        end
     
    end
    Ensuite, à toi d'adapter a variable X et de gérer les valeurs de retour dans la variable a dans le "main" selon ce que tu cherches à faire.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. [XSL-FO] Compter des élements
    Par henri93 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/08/2012, 16h06
  2. somme des élements d'une map et d'un vecteur.
    Par jamsgoodon dans le forum Langage
    Réponses: 7
    Dernier message: 03/02/2011, 13h53
  3. [LG]Compter des Lignes...
    Par Loceka dans le forum Langage
    Réponses: 7
    Dernier message: 04/03/2004, 20h29
  4. [SQL] Compter des champs indépendement l'un de l'autre
    Par rippey dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 29/10/2003, 15h35
  5. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51

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