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

Mathématiques Discussion :

Résolution d'équations différentielles avec conditions initiales et finales


Sujet :

Mathématiques

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Résolution d'équations différentielles avec conditions initiales et finales
    Bonjour à tous

    Élève en école d'ingé, je cherche a résoudre un système différentiel de 4 équations à 4 inconnues, du classique.
    Le problème est que je n'ai à ma disposition les conditions initiales que pour les 3 premières variables et je n'ai que la conditions finale pour la dernière.

    Le système de résolution ode, nécessite d'avoir les conditions initiales de toutes les variables, du coup de me retrouve bloqué.

    Est ce que quelqu'un aurait une syntaxe ou une autre fonction que ode à me suggérer.

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Salut, tu fais un changement de variables :

    où T est le temps final, donc quand t' = 0 alors T = t et quand t' = T, t = 0

    attention, quand tu dérives, il va apparaître un signe "-" (dérivée d'un composition de fonctions). Ensuite, n'oublie pas de "retourner" tes résultats via flipud() ou fliplr()

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci de la réponse mais je ne pense pas que cela soit une solution, mes 4 équations sont couplées entres elles, je les indiques ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dydz(1)=(hGa*A*(y(3)-y(4))/(S*(DvapH+CpH2O*(y(3)-273.15)-Cpw*(y(4)-273.15))));
    dydz(2)=hGa*A*(y(3)-y(4))/(G*(DvapH+CpH2O*(y(3)-273.15)-Cpw*(y(4)-273.15)));
    dydz(3)=-K*pi*D/(G*(Cpair+y(2)*CpH2O))*(y(3)-Text)-hGa*A*(y(3)-y(4))/(G*(Cpair+y(2)*CpH2O));
    dydz(4)=(G/(S*(Cps+y(1)*Cpw)))*((Cpair+y(2)*CpH2O)*dydz(3)+(DvapH+CpH2O*(y(3)-273.15)-Cpw*(y(4)-273.15))*dydz(2));
    j'ai les valeurs initiales pour y1, y2, y3 et la valeur finale de y4.

    Si j'effectue ce changement de variable (z'=L-z, c'est une longueur dont je parle ici) sur toutes les équations je ne fais qu'inverser le problème. Si je le fais uniquement sur la 4eme elle se retrouve spatialement décorélé des autres non ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 100
    Points
    100
    Par défaut
    bonjour,

    utilises la commande dsolve. Tu pourras ainsi coupler tes équations et entrer directement les conditions que tu souhaites (intiales, finales ou autre).

    Cordialement.

  5. #5
    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!
    Comme cette discussion ne concerne pas spécifiquement Matlab, je la transfère dans le forum algo/maths
    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)

  6. #6
    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!
    Les méthodes pas à pas ne sont pas utilisables lorsque des conditions sont imposées pour plus d'une valeur de la variable indépendante. Tu trouveras plusieurs méthodes décrites dans "Numerical Recipes".
    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)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Pour ce qui est de la méthode de résolution, je pense qu'il faudra nécessairement passer par une résolution itérative, par exemple par une "méthode de tir": on se fixe deux conditions initiales arbitraires pour la 4ème variable, on résout le système par méthode d'intégration dans le temps "classique", on regarde de combien la valeur finale de la variable est "mauvaise" (par rapport à la condition finale désirée), ce qui permet d'estimer une nouvelle condition initiale et de relancer une intégration temporelle qui devrait mieux approcher la valeur finale désirée, ce qui permettra d'affiner le choix de la condition initiale, de relancer une intégration temporelle, etc.

    Bien sur, comme c'est un processus itératif, il n'est pas certain qu'il converge à tous les coups; il est fort possible qu'il faille un certain nombre d'essais (de choix arbitraires des premières conditions initiales) avant d'aboutir à une solution (sans oublier qu'avec un système non linéaire il est possible qu'il y ai plusieurs solutions).

    Bon courage.

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/08/2014, 10h22
  2. Réponses: 5
    Dernier message: 01/04/2010, 08h08
  3. Réponses: 2
    Dernier message: 25/02/2010, 18h04
  4. Résolution d'équation différentielle avec ode45
    Par zed793 dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/05/2009, 13h58
  5. Réponses: 4
    Dernier message: 19/01/2008, 17h33

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