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

Algorithmes et structures de données Discussion :

Cecteur réduit résultant


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 203
    Par défaut Cecteur réduit résultant
    Salut

    J'ai un signal dont les valeurs sont les mêmes pour chaque 512 éléments.

    J'aimerai bien changer mon signal de façon à ce que chaque fois que je détecte 512 valeurs qui se répètent, je le réduise en une seule valeur.

    Exemple:
    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    indice=[1...512 513...1024 ]% indice vecteur
         x=[4...4     7...7    ]% signal de longueur 1024 donc on a deux trame 
     
    x_reduit=[4 7]% 1re trame prend 4 et 2eme trame prend 7

    Il reste le cas où la fin du signal possède une trame de longueur inférieure à 512, alors dans signal x_reduit doit prendre valeur

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Salut,

    tu peux utiliser la fonction unique :
    http://www.mathworks.fr/fr/help/matlab/ref/unique.html

  3. #3
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Avec unique, si deux groupes de 512 valeurs distincts ont la même valeur ils seront confondus, de plus, les valeurs seront classées!!

    Pourquoi ne pas simplement récupérer une valeur tous les 512 indices? Quelque chose comme :
    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lng = round(length(x)/512)
    x_reduit = x( (0:lng)*512+1 )

  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 317
    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 317
    Par défaut
    ou tout simplement :
    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    x_reduit = x(1:512:end);

  5. #5
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Bonjour,

    Citation Envoyé par bertry Voir le message
    Avec unique, si deux groupes de 512 valeurs distincts ont la même valeur ils seront confondus, deplus, les valeurs seront classées!!
    ça ce n'est pas un problème, il suffit de faire un prétraitement du vecteur d'entrée :
    Code MATLAB : 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
    function[xc] = encodage(x)
     
    nx=length(x);
    xc=zeros(1,nx);
    cnt=1;
    ref=x(1);
    xc(1)=1;
    for i=2:length(x)
        if (x(i)==ref)
            xc(i) = cnt; 
        else
            cnt=cnt+1;
            xc(i)=cnt;
            ref=x(i);  
        end
    end

    Le vecteur résultant xc contiendra une clé pour chaque suite d'occurence.

Discussions similaires

  1. Comment afficher un MessageBox depuis une fenêtre réduite ?
    Par cyberma dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/07/2005, 18h16
  2. [JTree] Réduit à l'affichage
    Par Micky1407 dans le forum Composants
    Réponses: 2
    Dernier message: 08/06/2005, 11h08
  3. [C#] pictureBox : image réduite
    Par Dinytro dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/04/2005, 16h18
  4. Application console en fenêtre réduite
    Par rsc dans le forum Langage
    Réponses: 8
    Dernier message: 02/12/2004, 09h37
  5. [FORM] -> Savoir quand l'utilisateur la réduit ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2003, 00h10

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