Page 1 sur 1

Portrait de phases

Publié : ven. mars 04, 2011 9:40 am
par thomas20
Bonjour, j'inaugure mon compte avec ce message.
Je débute avec Xcas (mais aussi avec les outils de ce type) donc ma question est sans doute naïve.
Je souhaite représenter un portrait de phases d'un système différentiel de dimension 2 (type oscillateur harmonique).
Aprés une recherche dans l'aide, je n'ai pas trouvé la fonction correspondante.
Y'en a-t-il une ?
Sinon quelle est la meilleure solution ?
Merci.
Thomas

Re: Portrait de phases

Publié : ven. mars 04, 2011 3:20 pm
par parisse
Vous pouvez utiliser plotfield pour un système différentiel de dimension 2 ne dépendant pas explicitement du temps, par exemple
plotfield(5*[-y,x],[x=-1..1,y=-1..1])
(ou plotfield(5*[-y,x],[x=-1..1,y=-1..1],normalize) pour avoir des vecteurs de longueur 1).

Re: Portrait de phases

Publié : ven. mars 04, 2011 5:17 pm
par thomas20
Merci pour la réponse rapide,
j'ai fait un test et j'obtiens le champ des tangentes aux orbites.
Y-a-t-il possibilité de tracer quelques orbites sur la figure obtenue ? Notamment les droites (sous espaces propres de la matrice) traduisant les modes propres ?
J'ai déjà réalisé le tracé d'une orbite comme celui d'une courbe paramétrée (plotparam je crois ?) mais si je pouvais avoir le champ des tangentes et des orbites sur le même graphique, ce serait mieux. Peut-être que c'est évident (?) mais comme je débute, je recherche les "meilleures pratiques" !
A+
Thomas

Re: Portrait de phases

Publié : ven. mars 04, 2011 6:22 pm
par parisse
Oui, avec odeplot, par exemple

Code : Tout sélectionner

plotfield(5*[-y,x],[x=-1..1,y=-1..1]); 
affichage(odeplot(5*[-y,x], [t=0..2,x,y],[0,0.3,0.7],tstep=0.02,plan),rouge+epaisseur_ligne_3)
Pour les espaces propres, il suffit d'utiliser droite, après avoir calculé les vecteurs propres avec par exemple eigenvectors

Code : Tout sélectionner

plotfield(5*[y,x],[x=-1..1,y=-1..1]); 
droite(y=x,affichage=bleu+epaisseur_ligne_2); 
droite(y=-x,affichage=vert+epaisseur_ligne_2);
affichage(odeplot(5*[y,x], [t=-1..1,x,y],[0,0.3,0.2],tstep=0.02,plan),rouge+epaisseur_ligne_3)
Vous pouvez aussi ouvrir un niveau de geometrie pour tracer plusieurs solutions en mettant une solution par ligne de commande.

Re: Portrait de phases

Publié : ven. mars 04, 2011 9:09 pm
par thomas20
Encore merci et toujours aussi rapide,
je vais tester ça mais pas tout de suite car je pars en vacances pour une semaine :D
Ce sera donc pour la rentrée
A+ Thomas