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 :

Tracer la spirale de Rieman associée au logarithme


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Doctorant
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 21
    Points
    21
    Par défaut Tracer la spirale de Rieman associée au logarithme
    Bonjour à tous,

    Je cherche un moyen de tracer la spirale de Riemann associée au logarithme. J'aimerais bien le faire en Matlab pour gérer comme je veux la coloration de la spirale, c'est important pour Je pensais faire au début simplement plusieurs surf de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Nr = 100;
    Ni = 100;
    real_v = linspace(-10,10,Nr);
    imag_v = linspace(-10,10,Ni).';
    z_m = repmat(real_v,[Ni,1]) + repmat(1i*imag_v,[1,Nr]);
     
    surf(real_v,imag_v,imag(log(z_m)));
    hold on;
    surf(real_v,imag_v,imag(log(z_m))+2*pi);
    surf(real_v,imag_v,imag(log(z_m))-2*pi);
    hold off;
    Mais évidemment, le "saut de phase" apparaît sur chacun des surf.

    Deux questions donc
    - Comment faire disparaître le saut sur R- dans chaque surf?
    - Comment je peux restreindre mes valeurs à un cercle de rayon donné (limiter les valeurs de z_m en module)?

    Merci pour vos conseils

    <LeT0C>

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Une solution :
    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
    Nr = 100;
    Ni = 100;
    real_v = linspace(-10,10,Nr);
    imag_v = linspace(-10,10,Ni).';
     
    [R I] = meshgrid(real_v, imag_v);
    Z = imag(log(R+1i*I));
    Z(R<0 & abs(I) < 11/Ni) = NaN; % suppression du saut
    Z(hypot(R,I) > 10) = NaN;      % limitation en module
     
    surf(real_v,imag_v,Z);
    hold on;
    surf(real_v,imag_v,Z+2*pi);
    surf(real_v,imag_v,Z-2*pi);
    hold off;
    Une autre en partant de coordonnées polaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Nr = 100;
    Nt = 100;
    rho   =  linspace(0,10,Nr);
    theta =  linspace(-pi,pi,Nt);
    [Rho Theta] = meshgrid(rho, theta);
    [R,I] = pol2cart(Theta, Rho);
     
    Z = imag(log(R+1i*I));
     
    surf(R,I,Z);
    hold on;
    surf(R,I,Z+2*pi);
    surf(R,I,Z-2*pi);
    hold off;

  3. #3
    Membre à l'essai
    Homme Profil pro
    Doctorant
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    Super, merci beaucoup!
    Pas bête le coup des NaN.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Doctorant
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    Encore une petite question.
    Sauriez-vous comment ajouter les axes Ox, Oy, Oz avec des flèches et une petite annotation textuelle au bout? Le tout en 3d intégré dans la figure si possible. Il y a éventuellement la solution plot3 pour dessiner les axes mais je ne sais pas comment faire une flèche au bout (à moins de faire des petits traits avec plot3 mais bonjour la galère). Une idée?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Tu pourras trouver quelques contributions sur le File Exchange dont Arrow3 ou mArrow3.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/06/2008, 15h12
  2. [VB6] [Install] Associer une icone à un raccourci
    Par petitgognol dans le forum Installation, Déploiement et Sécurité
    Réponses: 7
    Dernier message: 30/10/2002, 20h20
  3. [Delphi] Association composants-projet
    Par Pierre Castelain dans le forum Composants VCL
    Réponses: 6
    Dernier message: 31/07/2002, 16h20
  4. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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