Inscription / Connexion Nouveau Sujet
Niveau école ingénieur
Partager :

équation intégro-différentielle avec ode45 sous matlab

Posté par
comlich
19-12-11 à 22:59

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:

 \dfrac{d^2y(t)}{dt^2}+A_1(t)\dfrac{dy(t)}{dt}+A_0(t)y(t)+A_I(t)g(t)\displaystyle\int_0^texp(\frac{t'}{\tau})\dot{y}(t')dt'=f(t)

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 Y=\begin{bmatrix}y\\\dot{y}\end{bmatrix} de sorte que
\dot{Y}=\begin{bmatrix}\dot{y}\\f(t)-\left(A_1(t)\dot{y}+A_0(t)y+A_I(t)g(t)\displaystyle\int_0^texp(\frac{t'}{\tau})\dot{y}(t')dt'\right)\end{bmatrix}=\underbrace{\begin{bmatrix}0 & 1 \\ -A_0(t)& -A_1(t) \end{bmatrix}}_{A}Y+\underbrace{\begin{bmatrix}0\\f(t)- A_I(t)g(t)\displaystyle\int_0^texp(\frac{t'}{\tau})\dot{y}(t')dt' \end{bmatrix}}_b=g(t,Y)

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: Y=\begin{bmatrix}y\\\dot{y}\\ \ddot{y} \end{bmatrix}. Mais le hic est que ça nécessiterait dans mes conditions initiales de connaitre \ddot{y}(0) 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 :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !