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 :

Représentation d'un champ électrique


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut Représentation d'un champ électrique
    bonsoir ,
    mes amis j'ai besoin de votre aide . J’ai trouvé quelques problèmes pour représenter une fonction sur matlab
    J'aimerais représenter la fonction suivante d'un champ électrique par intervalle
    E=0 si x= [0,a1]
    E=-sin(p*pi*(x-a1)/w) si x = [a1,a2]
    E=0 si x=[a2,a3]
    avec p qui varie entre 2 et 10
    et avec a1,a2,a3 et w des constantes
    Le problème c'est que je ne sais pas par où commencer, si je dois utiliser surf,plot,meshgrid etc.
    Je voulais dans un premier temps représenter cette fonction

    Dans l’attente d’une réponse que j’espère sera favorable, veuillez agréer, l’expression de mes salutations distinguées.
    bonne soirée

  2. #2
    Membre expérimenté
    Profil pro
    Doctorant
    Inscrit en
    Mars 2011
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 147
    Par défaut
    Fixe d'abord tes constantes.
    Fais une boucle avec ton p.
    Définis ton x en fonction de comment il varie (par exemple, x=[3:0.1:5] -> x = [3,3.1,3.2,3.3....,4.8,4.9,5]
    Tu écris tes conditions et tu les testes avec le x et donc toutes les valeurs définies

    Tu as donc E en fonction des valeus de x et de p.
    Une fonction de plot3 peut donc convenir.
    Commence par fixer p et tracer E en fonction de x.

    Matersss

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut champ
    bonjour
    merci de ma avoir répondu ,mais
    voila le code qui j'ai crée mais

    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
     a=22.9e-3
       b=11.16e-3 
       w=a/1.27
       a1=2.44e-3
       a2=a1+w
       a3=a-a2
     
    for p=1
       for x=[0:0.1e-3:a];
     
     if x==[0:0.1e-3:a1]
      Ee(1,p)=0   
     elseif x==[a1:0.1e-3:a2]
         Ee(1,p)=-sqrt(2/a*b)*sin(p*pi*(x-a1)/w);
     else x=[a2:0.1e-3:a]
         Ee(1,p)=0
     end
     
    end
    end
     
    figure,plot(x,abs(Ee),'x');
    grid on
    ylabel('|Ee|');
    xlabel('x');
    le programme donne une image Ee =0 sur tous l'intervalle
    mais je veux que Ee =0 sur [0:0.1e-3:a1] et Ee=-sqrt(2/a*b)*sin(p*pi*(x-a1)/w)sur [a1:0.1e-3:a2] et Ee =0 sur [a2:0.1e-3:a]

    et merci par avance

  4. #4
    Membre éprouvé
    Homme Profil pro
    Doctorant LNE Trappes
    Inscrit en
    Mai 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Doctorant LNE Trappes
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 64
    Par défaut
    Solution assez grossière, j'ai augmenté le pas en x. J’espère que ça te satisfera.

    Code m : 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
    clear;clc;
    a=22.9e-3;
    b=11.16e-3;
    w=a/1.27;
    a1=2.44e-3;
    a2=a1+w;
    a3=a-a2;
    p=(2:10)';
     
    Ee=[zeros(size(p,1),size(0:0.1e-6:a1-0.1e-6,2)) -sqrt(2/a*b)*sin(p*pi*(a1:0.1e-6:a2)/w) zeros(size(p,1),size(a2:0.1e-6:a,2))];
     
    for i=1:8
        figure
        plot(0:0.1e-6:a,Ee(i,:),'.b')
        xlabel('x','fontSize',17);ylabel('E(eV)','fontSize',17);str = sprintf('phase %f pi ',p(i));title(str,'fontSize',17);
    end

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut demande de l'aide2
    bon jour
    j'ai un autre problème pour tracer le champ électrique en fonction x mais cette avec d'autres expression:

    Ee= -sin(p*pi*x/a1) si x= [0,a1]
    Ee=0 si x = [a1,a2]
    Ee=-sin(p*p(x-a2)/(a-a2)) si x=[a1,a]


    avec a1,a2,a et w des constantes et le p varie entre 2 et 10
    voila le code que développe mais toujours donne E =0 sur tous x

    mes cher amis ,s'il vous plait donne moi de l'aide en gorrige ce code ou bien me donne un autre simple
    et merci d'avance


    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
    clear;clc;
    a=22.9e-3;
    b=11.16e-3;
    w=a/1.27;
    a1=2.44e-3;
    a2=a1+w;
    a3=a-a2;
    p=(2:10)';
     
    Ee=[ -*sin(p*pi*(0:0.1e-6:a1)/a1) zeros(size(p,1),size(a1:0.1e-6:a2,2))   -*sin(p*pi*(a2:0.1e-6:a)-a2/(a-a2) ];
     
    for i=1:8
        figure
        plot(0:0.1e-6:a,Ee(i,:),'.b')
        xlabel('x','fontSize',17);ylabel('E(eV)','fontSize',17);str = sprintf('phase %f pi ',p(i));title(str,'fontSize',17);
    end

  6. #6
    Membre éprouvé
    Homme Profil pro
    Doctorant LNE Trappes
    Inscrit en
    Mai 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Doctorant LNE Trappes
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 64
    Par défaut
    Tiens :

    Code m : 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
    clear;clc;
    a=22.9e-3;
    b=11.16e-3;
    w=a/1.27;
    a1=2.44e-3;
    a2=a1+w;
    a3=a-a2;
    p=(2:10)';
     
    Ee=[ -sin(p*pi*(0:0.1e-6:a1)/a1) zeros(size(p,1),size(a1+0.1e-6:0.1e-6:a2,2)) -sin(p*pi*((a2:0.1e-6:a)-a2)/(a-a2))];
     
    for i=1:8
    figure
    plot(0:0.1e-6:a,Ee(i,:),'.b')
    xlabel('x','fontSize',17);ylabel('E(V/x)','fontSize',17);str = sprintf('phase %f pi ',p(i));title(str,'fontSize',17);
    end

Discussions similaires

  1. Représentation Champ de Vecteur
    Par funjam dans le forum MATLAB
    Réponses: 3
    Dernier message: 28/06/2010, 12h52
  2. Réponses: 0
    Dernier message: 29/04/2010, 15h04
  3. Réponses: 4
    Dernier message: 19/10/2009, 15h23
  4. Comment représenter des intervalles de valeurs pour un champ?
    Par dedelem dans le forum Modélisation
    Réponses: 1
    Dernier message: 14/04/2008, 17h50
  5. VBA - variable représentant un champ texte
    Par cyraile dans le forum Access
    Réponses: 13
    Dernier message: 04/01/2007, 17h19

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