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 :

Aide sur les graphiques 3D


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Aide sur les graphiques 3D
    Bonjour,

    Avec le code ci dessous qui fonctionne bien vous pourrez voir l evolution de la temperature en fonction du temps. (2D)
    j'aimerais rajouter une dimension en faisant varier x (profondeur du materiau) de 0 a 1*10^-9...pour obtenir un graphe en 3D.


    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
     
     
    clear all;
    close all;
    Q=188.64;
    K=0.802;
    w=0.0227861753262656;
    tp=300;
    Y0=20;
    x=0;
    t= 1 : 1 : 300;
    A=(x./(2*sqrt(w*t)));
    z= Y0 + (2*Q./K)'*sqrt(w*t)'*[exp(-A.^2)./sqrt(pi)' - A*erfc(A)'];
    t1= 301 : 1 : 600;
       A=(x./(2*sqrt(w*t1)));
       B=(x./(2*sqrt(w*(t1-tp))));
       z1= Y0 + (2*Q./K)'*sqrt(w*t1)'*[exp(-A.^2)./sqrt(pi)' - A*erfc(A)'] - (2*Q./K)'*sqrt(w*(t1-tp))'*[exp(-B.^2)./sqrt(pi)' - B*erfc(B)'];
    plot(t,z,t1,z1);
    xlabel('temps');
    ylabel('temperature');
    mais quand je tape ce code

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     clear all;
    close all;
    Q=188.64;
    K=0.802;
    w=0.0227861753262656;
    tp=300;
    Y0=20;
     
    x= 0 : 0.001 : 0.299;
    t= 1 : 1 : 300;
    A=(x./(2*sqrt(w*t)));
    z= Y0 + (2*Q./K)'*sqrt(w*t)'*[exp(-A.^2)./sqrt(pi)' - A*erfc(A)'];
     
    t1= 301 : 1 : 600;
       A=(x./(2*sqrt(w*t1)));
       B=(x./(2*sqrt(w*(t1-tp))));
       z1= Y0 + (2*Q./K)'*sqrt(w*t1)'*[exp(-A.^2)./sqrt(pi)' - A*erfc(A)'] - (2*Q./K)'*sqrt(w*(t1-tp))'*[exp(-B.^2)./sqrt(pi)' - B*erfc(B)'];
     
    subplot(2,1,1); 
    mesh(x,t,z);
    xlabel('x');
    ylabel('t');
    zlabel('z');
    title('evolution temperature 3D');
     
    subplot(2,1,2); 
    mesh(x,t1,z1);
    xlabel('x');
    ylabel('t');
    zlabel('z');
    title('evolution temperature 3D');
    Ca ne me donne pas les memes graphiques ....je ne comprend pas....

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Je n'ai pas regardé ton code mais il faut utiliser plot3 et non plot pour avoir une figure en 3D.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    le 1er code est une courbe en 2D dont PLOT


    le deuxieme essaye d etre une courbe en 3D --> MESH

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Désolé j'avais lu un peu vite ton post.
    Par contre, j'ai pas compris ton problème.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    mon probleme est que je veux rajouter une 3eme dimension au premier code. il represente l evolution de z (temperature)suivant t ( temps ) pour un x ( profondeur) donne. mais je voudrais egalement faire varier x et donc obtenir une fonction z (temperature) qui evolue en fonction de t ( temps ) et x ( profondeur)

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Citation Envoyé par cozo22 Voir le message
    donc obtenir une fonction z (temperature) qui evolue en fonction de t ( temps ) et x ( profondeur))
    Il me semble que tu défini toi-même cette fonction dans ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    z= Y0 + (2*Q./K)'*sqrt(w*t)'*[exp(-A.^2)./sqrt(pi)' - A*erfc(A)'];
    Ton problème semble plutôt venir des figures. Qu'est ce qui ne te plait pas avec mesh?

    Désolé mais j'arrive vraiment pas à voir ce qui ne va pas. Quelqu'un d'autre te répondra peut-être.

Discussions similaires

  1. Besoin d'aide sur les Graphiques dynamiques
    Par Didosaure dans le forum 2D
    Réponses: 0
    Dernier message: 21/04/2010, 02h46
  2. Aide sur les groupes (ADO)
    Par portu dans le forum QuickReport
    Réponses: 3
    Dernier message: 18/08/2004, 17h13
  3. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 11h16
  4. Petite aide sur les triggers ?
    Par krimson dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/04/2004, 17h28
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 13h19

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