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 :

Comment recupéré des valeurs sur un vecteur


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut Comment recupéré des valeurs sur un vecteur
    Bonsoir à tous, j'ai fait une fonction qui me permet de calculer le spectre d'amplitude et de phase d'un signal rectangulaire sur matlab et je voudrais savoir comment je pourrais faire pour récupéré sur un vecteur nommée par exemple 'spectre_ampli' toute les emplacements/valeur où il y a la valeur zéro à l'intérieur pour savoir pour quelles valeurs le spectre d'amplitude s'annule. Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur opto-électronique
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur opto-électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Points : 157
    Points
    157
    Par défaut
    Salut,

    Vas donc voir du côté de la faq, et plus précisément l'indexage logique et la fonction "find":

  3. #3
    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
    Salut,

    La solution étant la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    idx= spectre_ampli==0; % un vecteur 0/1 selon si la condition est vérifiée
    i= find(idx); % indices (linéairement indexés)

    Si spectre_ampli est un vecteur donnant des valeurs associées aux valeurs amplitudes stockées dans le vecteur ampli de même taille, les lignes suivantes renvoient les valeurs de ampli pour lesquelles le spectre s'annule (i.e. aux mêmes indices)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ampli(idx)
    ampli(i)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Merci pour la réponse, j'ai juste rajouté i=find(idx(1:N)) pour prendre seulement les valeurs que j'avais besoin.

    Est-ce qu'il y a aussi une fonction pour récupéré différentes valeurs d'amplitude pour par exemple dans mon cas calculé le rapport d'amplitude entre le lob principal et et secondaire ?
    pour le premier c'est pas dur j'ai juste a faire un abs du vecteur mais je bloque à si je veux récupéré d'autre valeurs. Est-ce qu'il existe une fonction exprès ?

Discussions similaires

  1. Comment filtrer des lignes sur la valeur d'une colonne
    Par BerBiX dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/06/2010, 13h46
  2. Réponses: 1
    Dernier message: 29/10/2009, 17h28
  3. Recupération des selections sur une DBGrille multi Selection
    Par Andry dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/11/2004, 11h43
  4. Réponses: 6
    Dernier message: 28/09/2003, 17h49
  5. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31

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