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 :

Faire un Plot d'une Matrice [Débutant]


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 13
    Par défaut Faire un Plot d'une Matrice
    Bonjour,
    Je vous explique ce que je veux faire.

    Je veux faire un plot d'une matrice carré de 5000 points.

    Ainsi, si un éléments (i,j) > 0, j'obtiens un points au moment de faire un plot.
    Si un éléments (i,j) < 0, j'obtiens un vide, pas de points sur le plot.

    Le plot de ma matrice sera donc un ensemble de points et de vide.

    Je vous remercie pour votre aide.

    Cordialement

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Par défaut
    Salut


  3. #3
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 13
    Par défaut
    Merci 540fenetres pour ta réponse !

    Mais ça ne marche pas, j'obtiens un carré bleu sur toute la figure en utilisant le code que tu m'a donné

    En faite, je veux obtenir un plot avec 5000 points sur l'axe des abscisses (x), et 5000 autres sur celui des coordonnés (y).



    Comment faire ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Un plot (la fonction) est une simple courbe. Ne souhaiterais-tu pas plutôt utiliser une fonction telle que surf ?
    Tu peux rajouter la ligne M(M>0) = NaN; pour ne pas afficher les valeurs (i,j) > 0.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Par défaut
    Aaaah je crois que je comprends ce que tu voulais faire. Tu veux avoir un point à la position (i,j) là où M(i,j) est plus grand que zéro et rien sinon ?

    là dans x t'as les indices des lignes pour chaque point, dans y les indices des colonnes. Donc en théorie tu n'aurais plus qu'à faire plot(x,y,'.') et c'est bon. SAUF QUE non... car si tu fais ça, Matlab prend "x" comme ton vecteur des indices des colonnes (et non des lignes) et l'inverse avec "y". Donc il faut écrire plot(y,x,'.'). SAUF QUE y'a un autre problème, c'est que dans le plot, Matlab considère que l'origine du plot est en bas à gauche, alors que pour désigner les indices des lignes et des colonnes d'une matrice, on a l'élément (1,1) de la matrice en HAUT à gauche. Il faut donc "miroiter" x (que les indices à 5000 passent à 1 et vice-versa, que 4999 devienne 2, etc). Donc tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x = abs(x-5001);
    plot(y,x,'.');
    Si tu ne veux pas te casser le c** avec tout ça, comme le suggère Winjerome, utilise une fonction comme surf ou imagesc:
    Et là t'as une image avec dans une couleur les 0, dans une autres les 1, et comme Matlab comprend que c'est une image, il met de lui-même l'origine en haut à gauche et non en bas à gauche.

  6. #6
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 13
    Par défaut
    Je te remercie 540fenetres ! je crois que ça marche !

    Merci beaucoup Je met cette discussion en "résolu"

    Merci pour ton aide

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/06/2010, 14h06
  2. plot d'une matrice
    Par annabiste dans le forum MATLAB
    Réponses: 6
    Dernier message: 27/03/2010, 19h33
  3. Faire un contour sur une matrice 3D
    Par sylvain62 dans le forum MATLAB
    Réponses: 0
    Dernier message: 07/07/2008, 10h52
  4. Comment faire une matrice?
    Par saeba357 dans le forum Langage
    Réponses: 1
    Dernier message: 19/11/2007, 13h13

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