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.