Bonsoir à tous,
J'ai un problème avec la résolution (numérique) d'une équation différentielle incluant une intégrale.
Voici mon équation dans sa forme générale:
On aimerait pouvoir résoudre l'équation en utilisant la fonction ode45 de Matlab. Dans ce cas il faudrait au préalable avoir re-écrit l'équation sous la forme: Y'(t)=h(t,Y(t))
où h serait l'un des arguments à transmettre à ode45.
Je pose de sorte que
Et je n'aurais alors plus qu'à programmer ma fonction g. Mon problème réside dans le fait qu'il faille calculer l'intégrale d'une fonction inconnue dans la fonction g, j'intuite qu'il va falloir utiliser une approximation de l'intégrale (avec une méthode du genre celle des trapèzes).
ode45 utilise cette fonction g à chaque itération (derrière se trouve la méthode de Runge-Kutta d'ordre 4 je crois), ce que je me dis très "grosso-modoment" c'est si à une itération donnée k, on connait déjà Y pour t0...tk-1 alors on peut tenter une approximation de l'intégrale (avec des hypothèses pour Y(t1), du genre t1 très proche de t0=0 donc intégrale proche de 0). Le mal est que ode45 n'a pas un pas fixe et il ne fournit pas l'info entre ti et ti+1 j'ai utilisé le pas hi. Bref, si ce que je dis vous paraît floue (ce qui ne me surprendrait pas) alors je vous demande d'ignorer ce paragraphe.
J'ai déjà remarqué qu'une façon d'éviter de calculer cette intégrale est de considérer la dérivée de l'équation et d'écrire: . Mais le hic est que ça nécessiterait dans mes conditions initiales de connaitre ce qu'initialement je n'ai pas. Donc out! cette solution.
Je vous remercie d'avance, ne serait-ce que pour le temps que vous prendrez pour lire ma question et aussi pour les éventuelles pistes que vous auriez pour moi.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :