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 :

Création d'une matrice


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 16
    Points
    16
    Par défaut Création d'une matrice
    Bonjour, j'ai le programme suivant :

    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
     
     
    function HIG(Group)
     
    clc
    load 884.mat
     
     
    for k=100:200
        y=20*log10(abs(fftshift(fft(Group{1,1}{1,1}(:,k)))));
        [pks loc]= findpeaks(y,'sort', 'descend');
        pks(1:4);
        loc(1:4);
        G=sum(loc(1:4))/4
    end
    je voudrais créer une matrice qui contiendrais toute les variables "G". Or à chaque fois que je veux faire ça, il me met à la suite tous les G, sans me les mettre dans une seule matrice. Pourriez vous m'aider ?

    Merci de votre aide

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Bonjour,

    Je te conseille de lire ceci : Gestion des matrices pour comprendre le fonctionnement des tableaux.
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    J'avais déjà lu cet article, mais je n'y ai pas truvé ma réponse... J'ai bien essayer de concaténer les matrices, mais à chaque fois, il ne me donne que la dernière récurrence et non pas toute les lignes de la matrice dont j'ai besoin...

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Déjà il faudrait savoir quelle taille G doit faire.
    Ensuite ces deux lignes ne servent à rien :
    Un exemple de construction de tableau 1*n
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    n=5;
    for k=1:n
       T(k) = k:
    end
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 93
    Points : 98
    Points
    98
    Par défaut
    hmm comme Caro-Line l'a dit il faut que tu saches ce que tu veux comme matrice ou liste en sortie et comment disposer tes données.

    A première vue, c'est une liste que tu désires donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function HIG(Group)
      
    clc
    load 884.mat
    
      
    for k=100:200
        y=20*log10(abs(fftshift(fft(Group{1,1}{1,1}(:,k)))));
        [pks loc]= findpeaks(y,'sort', 'descend');
    
        G(k)=sum(loc(1:4))/4
    end
    Après si tu veux plutôt des colonnes/ matrices il te suffit de jouer avec les indices de G

  6. #6
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    En fait à la fin de mon programme, il me donne tous mes G les uns à la suite des autres et je voudrais les mettre en matrice colonnes par exemple, pour pouvoir ensuite dire, je veux G(4), et qu'il me donne la quatrième ligne de la matrice, en me sortant le G correspondant... Je ne sais pas si je suis très clair.

  7. #7
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Si tu es clair mais tu as lu ce qu'on t'a mis ?
    Qu'est-ce que tu ne comprends pas ?

    Là ce que tu fais c'est juste afficher la valeur de G au cours de la boucle (qui effectivement s'écrase à chaque tour).
    Il faut que tu comprennes comment fonctionnent les indices (et je suis désolée mais c'est expliqué dans le tutoriel dont je t'ai donné le lien)
    Règles du Forum

    Adepte de la maïeutique

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/06/2007, 12h22
  2. [Débutant] Création d'une matrice de confusion
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 4
    Dernier message: 15/05/2007, 09h19
  3. [TP] Création d'une matrice
    Par amine6441 dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 03/03/2007, 16h20
  4. Réponses: 6
    Dernier message: 07/02/2007, 15h03
  5. Création d'une matrice d'entiers
    Par fleur de nostalgie dans le forum C
    Réponses: 6
    Dernier message: 21/12/2006, 14h17

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