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 de courbe [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    MASTER en Electrotechnique
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Algérie

    Informations professionnelles :
    Activité : MASTER en Electrotechnique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Tracer de courbe
    bonjour à tous , j'ai besoin d'aide dans mon programme MATLAB , le voila :

    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
    close all;clear,clc;
    x=0.2 ; E=0.9 ; P=[] ; Q=[] ; V=[] ;h=500  ; V1=[] ;
     
    phi=0.8  ; pmax=((-((E*E)/(x))*(tan(phi)))+((E*E)/(x*(cos(phi)))))/2 ;
    vcrt=E/(sqrt(2*(1+(sin(phi)))))
     
    for p=0:h:pmax , P=[P p];
        q=(p)*(tan(phi)) , Q=[Q q] 
     
        v=sqrt(  (0.5)*((E*E) - (2*q*x) + (E)*( sqrt((E*E) - ((4*p*p*x*x)/(E*E)) - (4*x*q))))) , V=[V v]
        v1=sqrt(  (0.5)*((E*E) - (2*q*x) - (E)*( sqrt((E*E) - ((4*p*p*x*x)/(E*E)) - (4*x*q))))) , V1=[V1 v1]
     
     
    end
     
    plot(p,v,v1)

    remarque : quand P varie ,Q varie avec elle avec un rapport constant ,et ensuite c'est v et v1 qui varies

    je dois avoir cette allure http://www.hindawi.com/journals/mpe/...1.fig.007c.jpg , v pour avoir le quart de cercle et v1 pour avoir l'autre quart,

    je veux avoir l'allure de V en fonction de P , mais je ne sais pas ou est le problème ,aider moi SVP !!

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

    Tu as plusieurs problèmes :
    • Dans ta boucle, tu fais : for p=0:h:pmax. Or : h = 500 et hmax ~= 0.82. Tu ne parcours alors que la valeur p=0.
      N'aurais-tu pas inversé les deux termes ?
    • plot(p,v,v1) : déjà les valeurs vont par paire, donc dans un premier temps plot(p,v,p, v1).
      Ensuite p, v et v1 ne sont que les valeurs locales à la boucle for, et ne contiennent qu'une seule valeur. Ce sont P, V et V1 à utiliser ici.

    Enfin, pour des raisons de performance, on évite au maximum les tableaux qui voient leur taille augmenter en boucle de la sorte.
    Voir la FAQ Qu'est-ce que la préallocation de mémoire ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    MASTER en Electrotechnique
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Algérie

    Informations professionnelles :
    Activité : MASTER en Electrotechnique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut thx
    merci , c'est vrai le problème étais dans le "h:le pas " ,il était juste plus grand que l'intervalle,et aussi y avais une faute dans "plot" , le programme a marché
    je te remercie beaucoup pour ton aide précieuse .
    ======================================================================

    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
    close all;clear,clc;
    x=0.2 ; E=10 ; P=[] ; Q=[] ; V=[] ;h=0.1  ; V1=[] ;
     
    phi=0.8  ;
     
    pmax=((-((E*E)/(x))*(tan(phi)))+((E*E)/(x*(cos(phi)))))/2 ;
     
    vcrt=E/(sqrt(2*(1+(sin(phi)))))
     
    for p=0:h:pmax , P=[P p];
        q=(p)*(tan(phi)) , Q=[Q q] 
     
        v=sqrt(  (0.5)*((E*E) - (2*q*x) + (E)*( sqrt((E*E) - ((4*p*p*x*x)/(E*E)) - (4*x*q))))) , V=[V v]
     
        v1=sqrt(  (0.5)*((E*E) - (2*q*x) - (E)*( sqrt((E*E) - ((4*p*p*x*x)/(E*E)) - (4*x*q))))) , V1=[V1 v1]
     
    end
     
    plot(P,V,P,V1)

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2014, 23h08
  2. tracer des courbes en opengl???
    Par jollo dans le forum OpenGL
    Réponses: 10
    Dernier message: 28/02/2013, 09h28
  3. Tracer une courbe avec 2 tableau de points
    Par babarpapa dans le forum 2D
    Réponses: 3
    Dernier message: 19/04/2006, 15h24
  4. [Images] [Librairie] Tracer une courbe ???
    Par cedre22 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 20/02/2006, 14h53
  5. Tracer une courbe théorique sur un TChart
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/09/2005, 11h46

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