ScilabMath



Résolution d'équations différentielles linéaires, non-homogènes, à coefficients constants avec Scilab


http://fr.wikipedia.org/wiki/%C3%89quation_diff%C3%A9rentielle

http://en.wikipedia.org/wiki/Differential_equation
ODE http://en.wikipedia.org/wiki/Ordinary_differential_equation


Ordre 1

Description du problème

On souhaite résoudre l'équation différentielle suivante :
y'+ b y = c
Dans notre exemple, on prend b=1 et c=1
On fixe y(0)=0 comme condition initiale.
On cherche donc la fonction y(x) solution de cette équation différentielle à l'aide de la méthode d'Euler.

Réponse

Téléchargez le code source Scilab répondant à ce problème (méthode d'Euler).

Scilab comporte une fonction capable de résoudre des équations différentielles (ode) sans avoir besoin de programmer la méthode d'Euler (ou Runge-Kutta) à la main.
http://scilabsoft.inria.fr/product/man/html/fr/nonlinear/ode.htm
Téléchargez le code source Scilab répondant à ce problème (utilisation de la fonction ode de Scilab).

Remarques

ordre1


Ordre 2

Description du problème

On souhaite résoudre l'équation différentielle suivante :
y"+ b y' + c y = d
On fixe y(0)=0 et y'(0)=0 comme conditions initiales.
On cherche donc la fonction y(x) solution de cette équation différentielle.


Réponse

Téléchargez le code source Scilab répondant à ce problème (à l'aide de la méthode d'Euler).

On peut aussi utiliser la fonction ode de Scilab.
La fonction ode nécessite de réécrire une équation du second ordre en un système de deux équations du premier ordre (voir la notion de représentation d'état en automatique et d'espace d'état).
On pose u1=y et u2=y'
On a bien sûr u1' = u2 (1)
u2' + b u2 + c u1 = d
soit u2' = d - b u2 - c u1 (2)
(1) et (2) sont les deux équations qui constituent le système du premier ordre à résoudre.
voir http://fr.wikipedia.org/wiki/M%C3%A9thode_des_diff%C3%A9rences_finies#Exemple_d.27abaissement_de_degr.C3.A9_de_d.C3.A9rivation

Téléchargez le code source Scilab répondant à ce problème (utilisation de la fonction ode de Scilab).


Remarques

On peut observer les 3 régimes :

-

Cas 1 : Régime pseudo-périodique (DELTA<0)

ordre2_delta_neg.png

-

Cas 2 : Régime critique (DELTA=0)

ordre2_delta_nul.png

-

Cas 3 : Régime apériodique (DELTA>0)

ordre2_delta_pos.png

Tous mes exemples

Obtenir le code source

Accès web
http://svn.berlios.de/viewvc/openphysic/scilab/math/equa_diff

Accès anonyme
svn checkout svn://svn.berlios.de/openphysic/scilab/math/equa_diff

Accès développeur
svn checkout svn+ssh://scls19fr@svn.berlios.de/svnroot/repos/openphysic/scilab/math/equa_diff

Equations différentielles et physique

La résolution d'équations différentielles est souvent utile en physique :
- Trajectoire d'un obus
- Oscillations d'une masse suspendue à un ressort
- Oscillations d'un pendule simple
- Mouvement d'une particule dans un champ E et/ou B

MethodeEuler
MethodeRungeKutta
ScilabEMMouvementParticule
ScilabMath
ScilabMathEDP
ScilabMathODE
ScilabMecaObus
ScilabMecaPendule
ScilabMecaRessort
ScilabSatellite


Voir aussi

- Résoudre des équations aux dérivés partielles (PDE ou EDP)
- D'autres exemples de résolution d'équations différentielles
http://www.iecn.u-nancy.fr/~pincon/scilab/Doc/node81.html#SECTION00611000000000000000
- Systèmes dynamiques : http://www-rocq.inria.fr/scilab/gomez/papers/sistdynpdf.pdf

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki