Récupération de coordonnées
Modérateur : xcasadmin
-
- Messages : 5
- Inscription : jeu. janv. 29, 2015 3:20 pm
Récupération de coordonnées
Bonsoir, j'ai besoin de récupérer sous forme de listes de tableur ( Excel ou autre ) les coordonnées des points d'une courbe 2D solution de l'équation différentielle suivante, dont on ne connaît pas de solution analytique :
Graph; plotode((-t*y(t))/(2+sin(t))+(exp(-t))*cos(t),[t=-pi/2...3*pi/2,y],[0,0],tstep=0.1, plan, affichage=bleu);
Comment faire? Cela doit être possible…
Amicalement.
alusipdranreb
Graph; plotode((-t*y(t))/(2+sin(t))+(exp(-t))*cos(t),[t=-pi/2...3*pi/2,y],[0,0],tstep=0.1, plan, affichage=bleu);
Comment faire? Cela doit être possible…
Amicalement.
alusipdranreb
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: Récupération de coordonnées
Bonjour,
je ne sais pas s'il y a plus pratique mais, si vous rangez ce dessin dans une variable
alors A[1] contient la liste des points sous forme de nombres complexes.
donc ensuite,
cela crée un .csv avec vos points sur les deux premieres colonnes.
Frederic
je ne sais pas s'il y a plus pratique mais, si vous rangez ce dessin dans une variable
Code : Tout sélectionner
A:=plotode((-t*y(t))/(2+sin(t))+(exp(-t))*cos(t),[t=-pi/2...3*pi/2,y],[0,0],tstep=0.1, plan, affichage=bleu);
donc ensuite,
Code : Tout sélectionner
F:=fopen("tutu.csv")
for j in A[1]:
fprint(F,Unquoted, re(j),",",im(j),"\n")
fclose(F)
Frederic
-
- Messages : 5
- Inscription : jeu. janv. 29, 2015 3:20 pm
Re: Récupération de coordonnées
Bonjour Frédéric,
Merci pour la réponse, mais il y a un problème : j'obtiens un message d'erreur das la deuxième ligne de la boucle for.
:2: syntax error, unexpected T_FOR line 2 col 1 at for
:4: syntax error, unexpected T_UNARY_OP line 4 col 1 at fclose
Warning, input parsed as a constant function undef applied to F
Syntaxe en mode compatible xcas
Erreur grammaticale ligne 2 à for
of([undef])
Pouvez-vous regarder cela?
Amicalement.
Bernard
Merci pour la réponse, mais il y a un problème : j'obtiens un message d'erreur das la deuxième ligne de la boucle for.
:2: syntax error, unexpected T_FOR line 2 col 1 at for
:4: syntax error, unexpected T_UNARY_OP line 4 col 1 at fclose
Warning, input parsed as a constant function undef applied to F
Syntaxe en mode compatible xcas
Erreur grammaticale ligne 2 à for
of([undef])
Pouvez-vous regarder cela?
Amicalement.
Bernard
Re: Récupération de coordonnées
Il faut ajouter un # seul sur une ligne avant le code de Frederic pour que la syntaxe Python soit reconnue. Ou bien utiliser la syntaxe Xcas:
Code : Tout sélectionner
F:=fopen("tutu.csv");
for j in A[1] do
fprint(F,Unquoted, re(j),",",im(j),"\n");
od;
fclose(F)
-
- Messages : 5
- Inscription : jeu. janv. 29, 2015 3:20 pm
Re: Récupération de coordonnées
Bonjour B.Parisse,
Merci pour votre réponse.
Je n'obtiens pas le résultat escompté.
Xcas utlise sans doute RK4, ou 5 ou 45, à pas variable ou constant. Une liste de coordonnées de points est donc calculée et est exploitée pour tracer la courbe solution numérique de l'équation différentielle.
C'est cette liste de coordonnées que je voudrais obtenir. Elle serait utilisée dans un tableur du type Excel.
Amicalement.
Bernard
Merci pour votre réponse.
Je n'obtiens pas le résultat escompté.
Xcas utlise sans doute RK4, ou 5 ou 45, à pas variable ou constant. Une liste de coordonnées de points est donc calculée et est exploitée pour tracer la courbe solution numérique de l'équation différentielle.
C'est cette liste de coordonnées que je voudrais obtenir. Elle serait utilisée dans un tableur du type Excel.
Amicalement.
Bernard
Re: Récupération de coordonnées
Bon, je viens de retester, il y a une erreur dans la commande plotode, qui devrait etre
mais ensuite la commande
ouvre le fichier tutu.csv et y place sur une ligne la valeur de t et la valeur de y correspondante, separes par une virgule.
Est-ce que le fichier tutu.csv est bien cree sur votre ordinateur? (Attention, ceci ne fonctionne pas avec Xcas pour Firefox, seulement avec Xcas sur PC).
Si le format n'est pas lisible par votre tableur, il faut modifier la commande fprint, par exemple rajouter un ";" en fin de ligne, etc.
La methode de resolution est une methode de Runge-Kutta d'ordre plus grand que RK4, c'est la methode de Prince-Dormand (https://en.wikipedia.org/wiki/Dormand%E ... nce_method)
Code : Tout sélectionner
A:=plotode((-t*y)/(2+sin(t))+(exp(-t))*cos(t),[t=-pi/2...3*pi/2,y],[0,0],tstep=0.1, plan, affichage=bleu);
Code : Tout sélectionner
F:=fopen("tutu.csv");
for j in A[1] do
fprint(F,Unquoted, re(j),",",im(j),"\n");
od;
fclose(F)
Code : Tout sélectionner
-1.57079632679,-0.87010850126
-1.55068637544,-0.89687945669
-1.52466150826,-0.929402353736
-1.49828332012,-0.959922009457
-1.47152737821,-0.988362481686
-1.44436527495,-1.01464122439
-1.41676516164,-1.03866725508
-1.38869136451,-1.06034037627
-1.36010316915,-1.07955079613
-1.33095411857,-1.09617788003
-1.30119268206,-1.1100880613
...
Si le format n'est pas lisible par votre tableur, il faut modifier la commande fprint, par exemple rajouter un ";" en fin de ligne, etc.
La methode de resolution est une methode de Runge-Kutta d'ordre plus grand que RK4, c'est la methode de Prince-Dormand (https://en.wikipedia.org/wiki/Dormand%E ... nce_method)
-
- Messages : 5
- Inscription : jeu. janv. 29, 2015 3:20 pm
Re: Récupération de coordonnées
Bonjour Bernard Parisse,
Le problème est réglé.
Grand-merci.
Xcas permet-il de traiter numériquement des ED du deuxième ordre directement, comme le fait Mathematica?
Et 3ème, 4ème ordre? ( Propriétés des matériaux, vibrations ).
Amicalement.
Bernard
Le problème est réglé.
Grand-merci.
Xcas permet-il de traiter numériquement des ED du deuxième ordre directement, comme le fait Mathematica?
Et 3ème, 4ème ordre? ( Propriétés des matériaux, vibrations ).
Amicalement.
Bernard
Re: Récupération de coordonnées
Non, mais on peut les reecrire comme des systemes du 1er ordre.
-
- Messages : 5
- Inscription : jeu. janv. 29, 2015 3:20 pm
Re: Récupération de coordonnées
Tout-à-fait.
Je vais m'y employer.
3ème et 4ème ordre numérique, il doit y avoir de la documentation là-dessus rue d'Ulm.
Je n'ai encore rien trouvé de vraiment bien.
En tous cas, mon problème est résolu.
Merci.
Bernard
Je vais m'y employer.
3ème et 4ème ordre numérique, il doit y avoir de la documentation là-dessus rue d'Ulm.
Je n'ai encore rien trouvé de vraiment bien.
En tous cas, mon problème est résolu.
Merci.
Bernard