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 :

résoudre équation différentielle du 1er ordre


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut résoudre équation différentielle du 1er ordre
    bonjour à tous,

    je suis nouvelle dans la programmation ainsi dans l'utilisation de matlab.
    j'ai une équation différentielle et j'aimerais savoir si je peus la résoudre sur matlab! l'équation est tres compliquée pour moi
    vous la trouvez ci attacheé

    est ce qu'il ya quelqu'un qui peus me dire comment je peus la resoudre...
    j'ai vraiment besoin de votre aide

    je vous remercie
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Bonjour,

    As-tu commencé à écrire un code ? As-tu des messages d'erreurs ? As-tu fait une recherche sur le forum ? Il y a beaucoup de sujet qui traitent de ce problème.

    regarde du côté des fonctions ode de matlab.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    help ode23
    help ode45
    %etc

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Merel Voir le message
    Bonjour,

    As-tu commencé à écrire un code ? As-tu des messages d'erreurs ? As-tu fait une recherche sur le forum ? Il y a beaucoup de sujet qui traitent de ce problème.

    regarde du côté des fonctions ode de matlab.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    help ode23
    help ode45
    %etc

    merci Merel de m'avoir répondu.

    non j'ai pas écrie le code car justement je ne sais pas comment l'ecrire

    oui j'ai fais une recherche, et je sais que je peus la résoudre par la méthode
    d'Euler....mais comment formuler mon equation sous matlab c'est ca que je ne sais pas faire!!!(car elle est compliquée)...

    est ce que vous pouvez m'aider SVP

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Je ne suis pas un spécialiste des équa diff... Je sais simplement qu'il y a les fonctions ode sous matlab pour aider à leur résolution. Je ne sais donc pas si je te serais d'une aide précieuse. Mais bon...

    Tu cherches à faire quoi exactement ? Tu as des valeurs pour les coeff C ? Tu as des conditions initiales? On ne t'as pas donné juste cette équation sans rien d'autre si ?

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Merel Voir le message
    Je ne suis pas un spécialiste des équa diff... Je sais simplement qu'il y a les fonctions ode sous matlab pour aider à leur résolution. Je ne sais donc pas si je te serais d'une aide précieuse. Mais bon...

    Tu cherches à faire quoi exactement ? Tu as des valeurs pour les coeff C ? Tu as des conditions initiales? On ne t'as pas donné juste cette équation sans rien d'autre si ?
    je cherche a dessiner V=f(y),
    j'ai les valeurs de C1, C2, C3,C4, C5.
    a y=0 on a V=0

    donc pour commencer je ne sais pas comment ecrire mon equation sous le langage de matlab!!!

    je te remercie énormément merel

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Ok, si tu dois utiliser la méthode d'Euler, le mieux est d'en faire la programmation. Je ne sais pas si elle existe déjà sou matlab mais ca aura le mérite de te faire programmer et de te faire comprendre la méthode.

    Il faut déjà que tu codes ta fonction. Le plus simple pour ne pas faire d'erreur de parenthèse ou autre est de la codée en plusieurs partie.


    Voici un exemple avec le début de ta fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a=1/C1;
    b=C2*y^(2*C3);
    A toi de compléter pour avoir une équation sous la forme

    dV=......

    edit : poste aussi les valeurs des variables C, que je fasse le calcul en même temps que toi...

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Merel Voir le message
    Ok, si tu dois utiliser la méthode d'Euler, le mieux est d'en faire la programmation. Je ne sais pas si elle existe déjà sou matlab mais ca aura le mérite de te faire programmer et de te faire comprendre la méthode.

    Il faut déjà que tu codes ta fonction. Le plus simple pour ne pas faire d'erreur de parenthèse ou autre est de la codée en plusieurs partie.


    Voici un exemple avec le début de ta fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a=1/C1;
    b=C2*y^(2*C3);
    A toi de compléter pour avoir une équation sous la forme

    dV=......

    edit : poste aussi les valeurs des variables C, que je fasse le calcul en même temps que toi...
    ok, voila les constant:

    pour y<=20
    C1=0.71
    C2=0.033
    C3=1
    C4=16
    C5=26

    pour y>20
    C1=0.71
    C2=0.214
    C3=0.5
    C4=720
    C5=26

  8. #8
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Tout d'abord, on résout pas une équation différentielle, on l'intègre. D'autre part, est-ce que tu cherches une solution analytique ou numérique?
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    ben on résout une équation différentielle par intégration non ?

    Sinon, je pense que ginafort penche pour une solution numérique en utilisant la méthode d'Euler. A confirmer

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Merel Voir le message
    ben on résout une équation différentielle par intégration non ?

    Sinon, je pense que ginafort penche pour une solution numérique en utilisant la méthode d'Euler. A confirmer
    comme a dit merel on integrant une équation differentielle on obtient sa solution....donc on a résout cette équation...

    et je veux obtenir la solution par une méthode numérique la plus simple....

  11. #11
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    je veux obtenir la solution par une méthode numérique la plus simple....
    Il y a une infinité de solutions. Si tu veux une solution unique, tu dois préciser la condition initiale et l'intervalle d'intégration.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  12. #12
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Salut!

    Il y a une infinité de solutions. Si tu veux une solution unique, tu dois préciser la condition initiale et l'intervalle d'intégration.
    Jean-Marc Blanc
    ok, je veux avoir la valeur de V pour chaque y sur un intervale y = [0, 200]
    avec à y=0 j'ai V=0

    par la suite je vais tracer V=f(y)

    est ce que vous aviez saisi mon probleme

  13. #13
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Alors, comme te l'avait indiqué Merel, utilise un des sous-programmes de la série ode.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Tu peux en effet au choix utiliser un des programme de ode ou faire la programmation "à la main" de la méthode d'Euler. C'est ce que j'ai fait ce matin sur ton intervalle d'intégration avec un pas dy fixé.

    Cette programmation est peut être un peu plus longue que par la méthode ode mais ca aura le mérite de bien comprendre la méthode d'Euler. A toi de voir ce que tu souhaites faire.

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Merel Voir le message
    Tu peux en effet au choix utiliser un des programme de ode ou faire la programmation "à la main" de la méthode d'Euler. C'est ce que j'ai fait ce matin sur ton intervalle d'intégration avec un pas dy fixé.

    Cette programmation est peut être un peu plus longue que par la méthode ode mais ca aura le mérite de bien comprendre la méthode d'Euler. A toi de voir ce que tu souhaites faire.
    ok je vous remercie pour vos réponses

  16. #16
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    la méthode d'Euler
    Celle dont on dit: "Admirez mais n'appliquez pas"
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  17. #17
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    moi en tout les cas je prefere les méthode numerique, c'est plus simple et plus sure et rapide..
    je suis entrain d'essayer d'utilisé matlab ode45

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Je suis d'accord avec toi FR. La méthode d'Euler n'est pas la meilleure, mais n'en reste pas moins une des plus simple à mettre en oeuvre ^_^

    tient nous au courant ginafort si tu rencontres des erreurs de programmation.

  19. #19
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Merel Voir le message

    tient nous au courant ginafort si tu rencontres des erreurs de programmation.
    ok merel , je vais faire de mon mieux avec ODE45 et si je bloque je vous fais appel si vous voulais bien me debolquer

    je vous remercie

  20. #20
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 51
    Points : 16
    Points
    16
    Par défaut deux intervales avec different constant!!!!
    bonjour a tous,
    voila j'ai reussi a tracer ma fonction sur matlab, mais!!!!
    pour y<=20 j'ai tracer ma fonction et
    pour y>20 j'ai tracer ma fonction séparement avec une autre programmation.

    je l'ai pas fais en une seule fois on utilisant la condition if, car j'ai mes constant qui change!

    est ce qu'il ya un moyen de tracer ma fonction sur le meme graphe?

Discussions similaires

  1. [ode] équation différentielle du 1er ordre
    Par cpalperou dans le forum MATLAB
    Réponses: 16
    Dernier message: 16/01/2014, 12h04
  2. Réponses: 7
    Dernier message: 19/05/2008, 13h24
  3. Réponses: 2
    Dernier message: 22/11/2007, 14h58
  4. Réponses: 8
    Dernier message: 08/04/2007, 01h38
  5. Réponses: 1
    Dernier message: 08/12/2006, 17h13

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