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 tracer une fonction complexe de 2 variables ?


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut Comment tracer une fonction complexe de 2 variables ?
    Bonsoir !

    Alors cette fois j'ai une fonction Y(x,t) = A.exp(i.k.x).exp(-i.w.t), où A,k,w sont des constantes, et i l'unité imaginaire (-1 = i²).

    J'aimerais la représenter en fonction de t et x. Certes Y est complexe, mais on peut juste choisir sa partie réelle ou imaginaire, voire tracer les 2 sur un même graphe. Non, le problème est que j'ai essayé "mesh" et tout le toutim, et on me dit un truc du style "Y c'est un vecteur et pas une matrice"...

    Sauriez-vous faire ça en Matlab ?

  2. #2
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [x,t]=meshgrid(plage_x,plage_t);
    y=A*exp(i*k*x).*exp(-i*w*t);
    mesh(x,t,real(y))

  3. #3
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut
    Merci ! Mais est-il possible de représenter sur un même graphe partie réelle et imaginaire de 2 couleurs differentes ?

  4. #4
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    Oui, voir cette exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >> [x,t]=meshgrid(1:10,1:10);
    [x,t]=meshgrid(-10:10,-10:10);
    y1=x'*x;
    y2=6*y1;
    c1=zeros(size(x));
    c2=100*ones(size(x));
    surf(x,t,y1,c1)
    hold on
    surf(x,t,y2,c2)
    voir help surf et mesh

  5. #5
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut
    OK merci !
    Sauf que j'arrive à avoir que du bleu foncé avec du rouge bordeaux foncé, donc au niveau d'une photocopie N&B ça va pas l'faire je pense...

  6. #6
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    Donc, une modification (bleu et vert):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    c1=zeros(size(x));
    c2=ones(size(x));
    map=colormap;
    map(end,:)=map(32,:); % vert
    colormap(map);
    surf(x,t,y1,c1)
    hold on
    surf(x,t,y2,c2)

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

Discussions similaires

  1. comment tracer une fonction constante par morceau
    Par ghitanany dans le forum MATLAB
    Réponses: 1
    Dernier message: 20/03/2012, 13h17
  2. Tracer une fonction avec conditions sur variable
    Par Leonpolou dans le forum MATLAB
    Réponses: 16
    Dernier message: 23/10/2009, 17h53
  3. Comment appeler une fonction variable ?
    Par franckcl dans le forum C++
    Réponses: 10
    Dernier message: 26/06/2007, 11h00
  4. Réponses: 2
    Dernier message: 11/05/2007, 18h26
  5. comment tracer une fonction ?
    Par informatik dans le forum GTK+ avec C & C++
    Réponses: 9
    Dernier message: 15/06/2006, 09h55

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