Ces équations disposent d'une solution exacte, donc inutile de passer par Runge Kutta.
Voir : http://fr.wikipedia.org/wiki/%C3%89q...d%27ordre_deux
Bonsoir,
Merci d'abord pour votre réponse, je veux dire comment on peut programmer ça en c++,par exemple l'équation d²y/dt=-w²y peut etre écrite sous la forme suivante: x(i+1)=kx(i)-x(i-1) avec i=0:N et k=1-w² alors pour avoir l'échantillon x(1) il faut avoir les valeurs de x(0) et x(-1), pour les équations 1er ordre on donne x(0)=0;
quesqu'on peut donner pour x(-1) dans ce cas??
aider moi svp
Cordialement.
Bonsoir,
le probléme c'est pas question de résolution mathématique mais probléme de programmation, je veux juste savoir avec quelles valeures on peut initialiser les deux informations sur x, x0 et x'0?????
Merci pour votre interet
a+
Bonjour,
Je ne suis pas sûr de cerner la question, mais si il s'agit de la méthode, typiquement lorsqu'on a une équation différentielle ordinaire d'ordre supérieur à 1, on construit un système équivalent d'équations d'ordre 1 en posant des variables intermédiaires qui ne sont rien d'autre que les dérivées successives de la variable (voir par exemple ici).
On traite ensuite l'intégration du système de manière classique (par exemple avec un schémas Runge-Kutta); les conditions initiales sont alors la valeur de la fonction au temps 0 ainsi que la(les) valeur(s) de sa(ses) dérivée(s) à ce même temps 0.
Bonne continuation.
Les méthodes de Runge-Kutta sont des méthodes d'analyse numérique d'approximation de solutions d'équations différentielles
En résumé, tu dois discrètiser ton équation. J'en ai bouffé du calcul numérique. Pour obtenir une solution numérique de ton équation, il faut que la méthode numérique servant à la résoudre cette équation respecte des critères de convergence. Grosso modo, tu vas injecté des conditions initiales dans ton système et par itération, pour un ensemble données de valeurs xi tu devrais avoir un ensemble de données yi.
L'objectif d'un méthode de résolution numérique, c'est de fournir un ensemble de point (xi,yi) de ta solution sur un intervalle, contrairement à une solution analogique y=f(x), où f est connue.
Le langage de référence pour résoudre ce genre de problème est le Fortran. Bon courage !
EDIT:
Bien que pour Runge Kutta, tu calcules une fois yi pour un xi. Dans certains cas c'est plus compliqué.
Tu dois avoir à l'esprit que tu as un pas de discretisation h dont tu peux fixer la valeur. En fonction des valeurs de h tu verras, si ton modèle tiens la route ou pas, je veux dire qu'il ne doit pas être trop petit ni trop grand, d'où la notion de critère de convergence.
EDIT2: Ensuite il y a une petite subtilité à prendre en compte car tu dois résoudre une équation du 2nd ordre alors que Runge Kutta est utilisé pour résoudre une équation différentielle du 1er ordre.
Partager