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 :

Utiliser mesh au lieu de plot3


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Utiliser mesh au lieu de plot3
    Salut à tous,

    J'ai besoin de votre aide pour créer une surface a partir de lignes en 3-D, j'utilise le commande plot3 plusiers fois pour donner l'impresion d'une surface 3-D, mais je n'ai pas arrivé a montrer une surface.
    Vous trouverez mon code source ci-joint.
    Je vous remercie en avance

    P.S. je suis desolé parce-que mon français n'est pas trés clair, ce n'est pas ma langue natale
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonsoir,

    je pense que tu dois deplasser le hold on, comme ça, ca marche :

    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
    16
    17
    18
    19
    20
    21
    figure(2);
    %hold on;
    j = 0;
    for L = 0:1:1000
    desfase1 = n*k0*L*(1.*(1-0.5*(lambda^2*(s1-1).^2/H^2)));
    desfase2 = n*k0*L*(1.*(1-0.5*(lambda^2*(num_samples+1-s2).^2/H^2)));
    desfase =[desfase1 desfase2];
    nuevadft = abs(dftmodo).*exp(i*(angle(dftmodo)+(desfase)));
    % Aplicamos la Transformada Inversa
    nuevomodo=ifft(nuevadft);
    % Graficamos la magnitud de nuestros pulsos propagados
    if j == 7
        j = 1;
    else
        j = j+1;
    end
    plot3(x,z+L,abs(nuevomodo),strcat(colores(j),'-'));hold on;
    end
    grid on;
    title('Magnitud de los Pulsos Gaussianos Propagados');
    mais, je pense aussi que tu peux eviter l'affichage dans une boucle, ca sera mieux
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  3. #3
    Membre éprouvé
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Voila une solution avec mesh :
    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
    
    j = 0;
    nuevomodo=zeros(1000,size(x,2));
    for L = 1:1:1000
    desfase1 = n*k0*L*(1.*(1-0.5*(lambda^2*(s1-1).^2/H^2)));
    desfase2 = n*k0*L*(1.*(1-0.5*(lambda^2*(num_samples+1-s2).^2/H^2)));
    desfase =[desfase1 desfase2];
    nuevadft = abs(dftmodo).*exp(i*(angle(dftmodo)+(desfase)));
    % Aplicamos la Transformada Inversa
    nuevomodo(L,:)=ifft(nuevadft);
    end
    mesh(abs(nuevomodo));
    grid on;
    title('Magnitud de los Pulsos Gaussianos Propagados');
    et pour ne pas utiliser la boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    figure(2);
    dftmodo=dftmodo'*ones(1,1001);
    nuevomodo=zeros(1000,size(x,2));
    L = 0:1:1000;
    desfase1 = n*k0*(1.*(1-0.5*(lambda^2*(s1-1).^2/H^2)));
    desfase2 = n*k0*(1.*(1-0.5*(lambda^2*(num_samples+1-s2).^2/H^2)));
    desfase =[desfase1 desfase2]'*L;
    nuevadft = abs(dftmodo).*exp(i*(angle(dftmodo)+(desfase)));
    nuevomodo=ifft(nuevadft);
    mesh(abs(nuevomodo'));
    grid on;
    title('Magnitud de los Pulsos Gaussianos Propagados');
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Merci Beaucoup!
    Merci pour ton solution rostomus, ça m'a trop aidé.

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

Discussions similaires

  1. [XL-2007] Utiliser DCount au lieu de Group By : possible ?
    Par Monkey_D.Luffy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/11/2010, 18h25
  2. Utiliser openoffice au lieu d'excel
    Par HULK dans le forum VB.NET
    Réponses: 3
    Dernier message: 04/01/2008, 14h36
  3. [MEX] Utiliser GCC au lieu de LCC
    Par S4sha dans le forum MATLAB
    Réponses: 8
    Dernier message: 07/12/2007, 10h19
  4. Utiliser IIS au lieu de Cassini dans VS2005
    Par _kal_ dans le forum ASP.NET
    Réponses: 8
    Dernier message: 06/07/2007, 17h25
  5. Utiliser JVM au lieu de GCJ
    Par kenny6 dans le forum Général Java
    Réponses: 15
    Dernier message: 02/05/2007, 10h51

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