Résoudre une EDO du second ordre avec matlab

Wilfried S. a écrit:  
je suis étudiant et ne connais pas beaucoup Matlab. J'aurai aimé que vous me disiez comment resoudre une equation differentielle du second ordre avec le second membre suivant : F*sin(w*t).

Pour une EDO du 1er ordre"classique", il y a trois types de solveurs:
ode45 :  qui utilise une méthode de Runge-Kutta explicite à 1 pas. Le meilleur choix par défaut.
ode23 :  qui utilise une méthode de Runge-Kutta implicite à 1 pas.
ode113 : qui utilise un schéma de Adams-Bashforth-Moulton. Il s'agit d'une méthode multi-pas.

Voir l'aide de ces commandes pour les paramètres d'appel (help ode45 par exemple).

Pour une présentation des méthodes numériques de résolution des EDO, consulter l'excellent ouvrage:
Analyse numérique et équations différentielles, Jean-Pierre Demailly
Presses Universitaires de Grenoble,1991, 309 pages.


On ne peut résoudre avec Matlab que des équations ou des systèmes d'équations du premier ordre.
Mais toute équation différentielle linéaire d'ordre n peut s'écrire comme un système de n équations différentielles linéaires du 1er ordre.
Vous devez donc, dans votre cas avant d'avoir recours à Matlab, transformer votre équation différentielle du second ordre en un système du 1er ordre à 2 équations (c'est très classique, voir un cours de maths de 1er cycle sur les EDO, par exemple le chapitre 20 de l'ouvrage:
Algèbre et Analyse, cours de mathématiques de première année avec exercices corrigés, Stéphane Balac, Frédéric Sturm
Presses Polytechniques et Universitaires Romandes, Collection Sciences Appliquées de l'INSA de Lyon, 1046 pages, 2003.
)

 

(c) Stéphane Balac - Centre de Mathématiques - INSA de Lyon.