Modelisation avec matlab (ode45)
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Modelisation avec matlab (ode45)



  1. #1
    invitec71748a8

    Modelisation avec matlab (ode45)


    ------

    Bonjour,

    On me demande d'étudier la trajectoire d'un satelite et son energie en réalisant un programe sous matlab. Le probleme c'est que j'ai apris la programation en java et j'ai beaucoup de mal a comprendre matlab.

    Je doit résoudre l'équation différentille du second ordre :
    m d/dt(d/dt(r)) = -GMmr/(r^3)
    et on me demande d'utiliser la fonction Ode45 pour determiner la trajectoire. Quelqu'un pourait il m'expliquer cette fonction ?

    Merci.

    -----

  2. #2
    jusquiame

    Re : Modelisation avec matlab (ode45)

    Bonsoir Monsieur,

    0) Je connais assez bien les mouvements képlériens, Matlab,mais pas Java, ni votre niveau en méthodes de calcul numérique ; donc pardonnez-moi si je dis des évidences ou des platitudes.
    1) Est-il nécessaire que vous résolviez l'équation différentielle ? Vous pourriez utiliser les expressions connues (voir livres de mécanique du point, mécanique céleste) de position et vitesse d'un satellite.
    2) Mais peut-être vous demande-t'on précisément cette intégration.
    points communs à toutes les fonctions d'intégration numérique, en Matlab ou autre:
    - ont remplace cette ED vectorielle d'ordre 2 en un système de 2 ED (vectorielles) d'ordre 1 en introduisant la variable auxiliaire vitesse. Cela fait ici un système de 4 équations à 4 inconnues : x, y, vx, vy.
    - on groupe ces 4 inconnues en un VECTEUR de dimension 4. Appelons-le X, alors le système devient : X' = f(X) ;
    - la fonction f est appelée par la fonction d'intégration ode45 (ou une de ses soeurs) ; on intègre ce système par une méthode du genre Runge-Kutta.
    3) Attention : pour la fonction f, il faut respecter soigneusement les obligations "grammaticales". Consulter les exemples.
    4) Maintenant en retraite, je n'ai plus Matlab mais Scilab, ce qui m'empêche d'entrer davantage dans les détails d'écriture.

    Bonne continuation !

  3. #3
    invitec71748a8

    Re : Modelisation avec matlab (ode45)

    Bonjour,

    Je vous remercie pour cette réponse. C'est vrai que ce serai vraiment plus simple d'utiliser les expression de la mécanique mais le but du "jeu" est de résoudre l'équa diff.
    Je pense avoir a peu pres compris le fonctionnement de cette méthode bien que je ne connaisse pas la méthode Runge-Kutta, (mais peut etre est ce le meme principe que pour la "méthode des rectangles").
    Cependant il me reste un problemes avec les quatre équation dont vous parlez :
    l'ED peut s'écrire : m*X'' = -GmM X/X^3 si on pose X=r
    du coups, Vx serait X' et correspondrai a la vitesse du satellite, on a donc les 2 variables X et Vx mais je ne vois pas d'ou peut venir Y et Vy.

    juste une présision, je ne suis pas Monsieur !!

    Merci

  4. #4
    jusquiame

    Re : Modelisation avec matlab (ode45)

    Bonjour,
    Soyons plus explicites ! Nous avons un rayon vecteur formé de 2 composantes x et y (coordonnées du satellite dans le plan de son orbite ; le centre du corps attracteur est à l'origine des coordonnées).
    L'ED vectorielle de départ se décompose en 2 ED scalaires :
    mx" = - G m M x / sqrt(x^2 + y ^2)
    my" = - G m M y / sqrt(x^2 + ^y^2)
    J'introduis maintenant les 2 composantes de vitesse v_x = x' et
    v_y = y'. Le système ci-dessus devient :
    m v_x' = -G m M x / sqrt(x^2 + y^2)
    m v_y' = -G m M y / sqrt(x^2 + y^2)
    x' = v_x
    y' = v_y
    Avec cette écriture, les 4 composantes du vecteur X sont :
    v_x, v_y, x, y. Le système ci-dessus se résume en X' = f(X) (mais on a l'obligation grammaticale de parler de t, même s'il n'intervient pas explicitement dans le membre de droite).
    Quant à Runge-Kutta, c'est plus raffiné que les rectangles, voyez par mot -clé sur internet ou dans un livre d'analyse numérique.
    Bonne continuation, chère Madame !

  5. A voir en vidéo sur Futura
  6. #5
    invitec71748a8

    Re : Modelisation avec matlab (ode45)

    Merci beaucoup. Je crois qu'avec ca je devrais y arriver.
    Encore merci.

  7. #6
    invitec71748a8

    Re : Modelisation avec matlab (ode45)

    Bonjour,

    J'ai finalement réussi a résoudre l'équa diff et j'ai obtenu la trajectoire du satellite autour de la Terre.
    Maintenant, je souhaiterais ajouter un troisieme corps lui aussi en rotation autour de la terre. Je sais que pour cela, il faut prendre en comte le centre de masse. on a alors une autre équa diff similaire a la premiere et j'ai donc résussi a la résoudre.
    Le probleme est qu'au final, j'obtent la trajectoire de centre de masse et non des deux corps (ce qui est normale etant donné ma démarche)
    Je ne sais pas comment je pourrais obtrnir les deux trajectoire a partir de celle ci.
    Si quelqu'un peut m'aider ?

    merci d'avance.

  8. #7
    jusquiame

    Re : Modelisation avec matlab (ode45)

    Bonsoir,

    Vous ne dites rien de la masse de ce 3ème corps, ni de son éventuelle proximité du premier satellite.
    Pour que les choses soient simples, je vous souhaite que la masse de ce 3ème objet soit négligeable devant celle de la Terre ; donc nous continuons de considérer la Terre comme fixe.
    La grande nouveauté, c'est qu'il n'y a pas de raison, a priori, pour que les deux satellites gravitent dans le même plan. Donc :
    - soit on peut négliger l'interaction entre les 2 satellites, et on a alors 2 fois le problème initial ;
    - soit on ne peut pas la négliger. A ce moment, il faut considérer pour chacun l'attraction qu'il subit de la part de la Terre et de la part de l'autre satellite. Notre nouveau vecteur X va avoir 12 composantes :
    composantes x, y, z de position du 1er sat., 3 composantes de citesse du 1er sat, et idem pour le 2ème.
    Cela pourrait faire de jolis tire-bouchons !
    Bonne continuation !

  9. #8
    invitec71748a8

    Re : Modelisation avec matlab (ode45)

    Je vous remercie pour cette réponce et je vais réfléchir a ce probleme cela me donera peut etre une idée.

    En faite la masse du 2eme satellite a une masse comparable a celle de la terre et donc elle n'est plus fixe.
    Par contre la masse du 1er satellite est négligeable et on peut sans doute négliger les interaction entre les deux satellite.
    Pour ce qui de sa proximité je ne la connait pas.

    en cherchant sur le web ce genre de probleme m'a paru tres compliqué, j'ose espérer qu'il y a une solution plus simple.

  10. #9
    jusquiame

    Re : Modelisation avec matlab (ode45)

    Re-Bonsoir,

    C'est donc le "problème des trois corps".

    1ère étape : on ne considère pas le petit satellite, mais seulement la Terre et l'autre objet de masse comparable. Voir dans un ouvrage de mécanique du point la "réduction du problème des deux corps à un seul corps" (Pérez de mécanique, par exemple) : on calcule le mouvement du centre de masse du système formé par ces 2 objets, puis on en déduit les trajectoires des 2 objets, l'une et l'autre homothétiques à la trajectoire du centre de masse. Comme on n'a (pour l'instant) que 2 objets, le plan des 2 orbites est fixe (z = 0).

    2ème étape : on fait l'hypothèse que la présence du 3ème objet ne perturbe pas de façon sensible le mouvement des deux premiers. Connaissant désormais, à tout instant, la position des 2 attracteurs, on peut formuler les 2 forces auxquelles est soumis le petit 3ème, et intégrer son mouvement. Attention : le mouvement de ce 3ème corps est en x, y, z (vitesse idem), et non périodique (à nous les jolies spirales).

    Bonne continuation !

  11. #10
    jusquiame

    Re : Modelisation avec matlab (ode45)

    Encore moi !

    Il y a bien deux étapes logiques (mouvement des deux corps massifs, d'où l'on déduit le mouvement de l'objet léger), mais il va peut-être bien être plus pratique d'intégrer tout cela en même temps, soit :
    - position et vitesse du centre de masse des deux corps massifs T et T', dans le plan de leur mouvement (soit 2 composantes de position et 2 de vitesse) ; les positions de T et T' s'en déduisent.
    - position et vitesse (3 x 2 composantes) de l'objet léger.

    Bonsoir

  12. #11
    jusquiame

    Unhappy Re : Modelisation avec matlab (ode45)

    Bonjour,

    Rectification par rapport à mes messages d'hier soir : pour le problème à 2 corps, ce n'est pas le mouvement du centre de masse que l'on étudie (a priori, en l'absence d'autres corps célestes dans les environs, ce centre peut être considéré comme "fixe", c.a.d comme origine d'un repère galiléen), mais celui d'une "particule fictive".

    Je confirme le reste des messages.

    Excuses, et bonne continuation !

  13. #12
    invitec71748a8

    Re : Modelisation avec matlab (ode45)

    Bonjour,

    Merci baucoup pour ces réponces.
    J'ai déja la trajectoire de la particule fictive et la position, effectivement fise de centre de masse.
    Il me reste donc, si j'ai bien compris a trouver la trajectoire des 2 objets, j'ai le perez a disposion donc je vais aller voir.
    Pour le troisieme corps je pense pouvoir le rajouter après.

    Merci beaucoup ! je començait a desespérer.
    Bonne jourée.

Discussions similaires

  1. programme avec matlab
    Par invite75273a24 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 08/04/2009, 22h26
  2. modélisation Résistance de vague simulink (matlab)
    Par invite7a16a37d dans le forum Physique
    Réponses: 0
    Dernier message: 20/11/2008, 08h33
  3. Modélisation d' une force qui évolue avec le temps
    Par Koalamiaou dans le forum Physique
    Réponses: 4
    Dernier message: 09/03/2008, 18h23
  4. problème sous matlab avec ode45
    Par invite80950a2d dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 13/02/2007, 17h35
  5. TPE sur les ondes de choc avec une modélisation
    Par invited38115fb dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 20/10/2006, 09h27
Découvrez nos comparatifs produits sur l'informatique et les technologies.