Aide pour la méthode de Runge-Kutta en Scilab
Résolu/Fermé
jibthefly
Messages postés
1
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
6 avril 2009
-
6 avril 2009 à 15:35
samwel25 Messages postés 4 Date d'inscription vendredi 23 octobre 2009 Statut Membre Dernière intervention 24 octobre 2009 - 23 oct. 2009 à 22:03
samwel25 Messages postés 4 Date d'inscription vendredi 23 octobre 2009 Statut Membre Dernière intervention 24 octobre 2009 - 23 oct. 2009 à 22:03
A voir également:
- Aide pour la méthode de Runge-Kutta en Scilab
- Scilab - Télécharger - Édition & Programmation
- Le client et le serveur ne sont pas compatibles avec une version de protocole ou une méthode de chiffrement ssl commune. ✓ - Forum Réseaux sociaux
- Méthode de gauss matlab ✓ - Forum Matlab
- Dans le document à télécharger, léa a utilisé 2 méthodes différentes pour centrer le nom des continents. lesquels sont centrés correctement ? ✓ - Forum Javascript
- La méthode autofilter de la classe range a échoué - Forum VB / VBA
5 réponses
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 831
6 avril 2009 à 17:44
6 avril 2009 à 17:44
Salut
Tu as aussi Octave comme logiciel gratuit de calcul numérique et il encore plus proche de Matlab que Scilab ne l'est ;-)
Que ce soit pour Scilab ou Octave, t'auras pas besoin de coder la méthode de RK.
Scilab est fourni avec un package de solveurs d'ode (ODEPACK), tu trouveras des infos en faisant help ode dans une fenêtre Scilab. Tous les solveurs sont appelés avec la fonction ode et il suffit de préciser en option lequel tu veux en partculier. Si tu veux avoir un aperçu de ce que tu peux faire avec la fonction ode de Scilab, tu peux aller jeter un œil ici :
http://genome.jouy.inra.fr/doc/genome/divers/scilab-4.1.2/man/fr/nonlinear/ode.htm
En ce qui concerne Octave, c'est la toolbox Octave-Forge OdePkg qui fournit la panoplie de solveurs (ode, dae, ide, dde).
http://octave.sourceforge.net/odepkg/index.html
Mais quand tu installes Octave sous Windows avec l'installeur (hébergé sur Octave-Forge lui aussi), ça t'installe toutes les toolboxes Octave-Forge. Les solveurs d'ode d'Octave sont appelés par des fonctions ode* où * est une chaîne de 2 ou 3 caractères (chiffres ou lettres) caractérisant le solveur (ex : ode23, ode45, ode54, ode78 pour les solveurs RK non modifiés).
Jette un œil à la doc si tu veux te faire une idée :
http://octave.sourceforge.net/odepkg/local/odepkg.html
Et si t'installe Octave, pour l'aide, c'est comme Matlab et Scilab, help la_fonction et t'as les infos dont t'as besoin.
Voivi voilou...
Ah oui... et sinon, que ce soit l'un ou l'autre des deux softs, tu peux les récupérer sur CCM :
http://www.commentcamarche.net/telecharger/telecharger 34058903 scilab
http://www.commentcamarche.net/telecharger/telecharger 34058902 gnu octave
Bonne fin de journée ;-)
Tu as aussi Octave comme logiciel gratuit de calcul numérique et il encore plus proche de Matlab que Scilab ne l'est ;-)
Que ce soit pour Scilab ou Octave, t'auras pas besoin de coder la méthode de RK.
Scilab est fourni avec un package de solveurs d'ode (ODEPACK), tu trouveras des infos en faisant help ode dans une fenêtre Scilab. Tous les solveurs sont appelés avec la fonction ode et il suffit de préciser en option lequel tu veux en partculier. Si tu veux avoir un aperçu de ce que tu peux faire avec la fonction ode de Scilab, tu peux aller jeter un œil ici :
http://genome.jouy.inra.fr/doc/genome/divers/scilab-4.1.2/man/fr/nonlinear/ode.htm
En ce qui concerne Octave, c'est la toolbox Octave-Forge OdePkg qui fournit la panoplie de solveurs (ode, dae, ide, dde).
http://octave.sourceforge.net/odepkg/index.html
Mais quand tu installes Octave sous Windows avec l'installeur (hébergé sur Octave-Forge lui aussi), ça t'installe toutes les toolboxes Octave-Forge. Les solveurs d'ode d'Octave sont appelés par des fonctions ode* où * est une chaîne de 2 ou 3 caractères (chiffres ou lettres) caractérisant le solveur (ex : ode23, ode45, ode54, ode78 pour les solveurs RK non modifiés).
Jette un œil à la doc si tu veux te faire une idée :
http://octave.sourceforge.net/odepkg/local/odepkg.html
Et si t'installe Octave, pour l'aide, c'est comme Matlab et Scilab, help la_fonction et t'as les infos dont t'as besoin.
Voivi voilou...
Ah oui... et sinon, que ce soit l'un ou l'autre des deux softs, tu peux les récupérer sur CCM :
http://www.commentcamarche.net/telecharger/telecharger 34058903 scilab
http://www.commentcamarche.net/telecharger/telecharger 34058902 gnu octave
Bonne fin de journée ;-)
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 831
8 avril 2009 à 17:58
8 avril 2009 à 17:58
Y a pas de quoi ! ;-)
Repasse si t'as un souci mais crée en nouveau sujet si le problème est différent.
Bonne fin d'après-midi
Repasse si t'as un souci mais crée en nouveau sujet si le problème est différent.
Bonne fin d'après-midi
c pas trop compliqué tu peut regarder la doc de ODE dans le help de scilab
d'abord tu défini le deuxième membre comme une fonction ( ici BBO )
// Phase solide
// equation diff de suivi des particules : BBO attention ici equation adimensionnalisée
// second membre
function [dX]=bbo(t,X,st,bet)
dX(1)=X(3)
dX(2)=X(4)
[u,v]=taygr(X(1),X(2))
dX(3)=(u-X(3)+bet*sin(a))/st
dX(4)=(v-X(4)-bet*cos(a))/st
endfunction
aprés tu défini les conditions initiales et les points (instants) ou tu désire calculer la solution puis tu résout avec ODE, l'option "rk" spécifie que tu utilise la méthode de Runge-kutta d'ordre 4 à pas adaptatif.
//Solution
X0=[pxp(c3); pyp(c3); u0; v0];// position et vitesses initiales de la particule.
t0=0;//instant initial
tf=200;//instant final
t=linspace(t0,tf,m);// instants à calculer
[X] = ode("rk",X0, t0, t, list(bbo,st,bet)); // résolution
voilou, dis moi si t'a encore des questions....
d'abord tu défini le deuxième membre comme une fonction ( ici BBO )
// Phase solide
// equation diff de suivi des particules : BBO attention ici equation adimensionnalisée
// second membre
function [dX]=bbo(t,X,st,bet)
dX(1)=X(3)
dX(2)=X(4)
[u,v]=taygr(X(1),X(2))
dX(3)=(u-X(3)+bet*sin(a))/st
dX(4)=(v-X(4)-bet*cos(a))/st
endfunction
aprés tu défini les conditions initiales et les points (instants) ou tu désire calculer la solution puis tu résout avec ODE, l'option "rk" spécifie que tu utilise la méthode de Runge-kutta d'ordre 4 à pas adaptatif.
//Solution
X0=[pxp(c3); pyp(c3); u0; v0];// position et vitesses initiales de la particule.
t0=0;//instant initial
tf=200;//instant final
t=linspace(t0,tf,m);// instants à calculer
[X] = ode("rk",X0, t0, t, list(bbo,st,bet)); // résolution
voilou, dis moi si t'a encore des questions....
Merci pour tes conseil, juste un dernier truc je travail sur un projet de runge kutta un peu comme vous mais le probleme c'est que je n'arrive pas à faire le lien entre ton programme scilab et ce que je pourrais faire pour mon projet. Pourrais tu me dire ce que je dois changer dans ton prog pour qu'il soit appliquable pour mon projet. Ton aide me sera très utilie car je me sens un peu perdu
Voici l'énnoncé de mon problème (juste le dernier point sur runge kutta, le reste déjà fait)
https://www.casimages.com/i/090902014956997796.jpg.html
https://www.casimages.com/i/090902015155755726.jpg.html
Je te remercie
Voici l'énnoncé de mon problème (juste le dernier point sur runge kutta, le reste déjà fait)
https://www.casimages.com/i/090902014956997796.jpg.html
https://www.casimages.com/i/090902015155755726.jpg.html
Je te remercie
salut c marrant moi aussi je crois que je travail sur la même chose! j'étudie la dispersion de particles ponctuelles dans un réseau de tourbillon de type taylor-green, je resous l'équation de suivi des particules avec ODE de scilab. ça marche....
cordialement
cordialement
samwel25
Messages postés
4
Date d'inscription
vendredi 23 octobre 2009
Statut
Membre
Dernière intervention
24 octobre 2009
23 oct. 2009 à 22:03
23 oct. 2009 à 22:03
bonjour;
j'aurais en ce moment besoin de pouvoir résoudre numériquement un système d'équations différentielles non linéaires. J'ai donc pensé à la méthode de Runge-Kutta d'ordre 4 en matlab.
donc voila le systeme :
(1) V’=(N’/v)- 2*V
(2) U’=-(Y*N’/U)-2*U
(3) EXP(-N-Y)-V*(1+2(Y/V))=0
(4) N’’=(1/V)-exp(N)- Y/U
donc mon probléme c'est l'equation 3 je sais pas comment l'introduire dans la boucle dintegration avec les autre équation de systéme; d'autre façon c'est que je n'arrive pas à faire le lien entre l'équation 3 avec les autres équations.
Merci d'avance.
j'aurais en ce moment besoin de pouvoir résoudre numériquement un système d'équations différentielles non linéaires. J'ai donc pensé à la méthode de Runge-Kutta d'ordre 4 en matlab.
donc voila le systeme :
(1) V’=(N’/v)- 2*V
(2) U’=-(Y*N’/U)-2*U
(3) EXP(-N-Y)-V*(1+2(Y/V))=0
(4) N’’=(1/V)-exp(N)- Y/U
donc mon probléme c'est l'equation 3 je sais pas comment l'introduire dans la boucle dintegration avec les autre équation de systéme; d'autre façon c'est que je n'arrive pas à faire le lien entre l'équation 3 avec les autres équations.
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
samwel25
Messages postés
4
Date d'inscription
vendredi 23 octobre 2009
Statut
Membre
Dernière intervention
24 octobre 2009
23 oct. 2009 à 22:03
23 oct. 2009 à 22:03
bonjour;
j'aurais en ce moment besoin de pouvoir résoudre numériquement un système d'équations différentielles non linéaires. J'ai donc pensé à la méthode de Runge-Kutta d'ordre 4 en matlab.
donc voila le systeme :
(1) V’=(N’/v)- 2*V
(2) U’=-(Y*N’/U)-2*U
(3) EXP(-N-Y)-V*(1+2(Y/V))=0
(4) N’’=(1/V)-exp(N)- Y/U
donc mon probléme c'est l'equation 3 je sais pas comment l'introduire dans la boucle dintegration avec les autre équation de systéme; d'autre façon c'est que je n'arrive pas à faire le lien entre l'équation 3 avec les autres équations.
Merci d'avance.
j'aurais en ce moment besoin de pouvoir résoudre numériquement un système d'équations différentielles non linéaires. J'ai donc pensé à la méthode de Runge-Kutta d'ordre 4 en matlab.
donc voila le systeme :
(1) V’=(N’/v)- 2*V
(2) U’=-(Y*N’/U)-2*U
(3) EXP(-N-Y)-V*(1+2(Y/V))=0
(4) N’’=(1/V)-exp(N)- Y/U
donc mon probléme c'est l'equation 3 je sais pas comment l'introduire dans la boucle dintegration avec les autre équation de systéme; d'autre façon c'est que je n'arrive pas à faire le lien entre l'équation 3 avec les autres équations.
Merci d'avance.
8 avril 2009 à 17:56
bonne fin de journée