Méthode d'intégration Xcas-mac os X
Modérateur : xcasadmin
Méthode d'intégration Xcas-mac os X
Bonjour j'ai voulu programmer la méthode des rectangles
et j'obtiens une première erreur quand je nomme
rectangle(f,a,b,n)
alors que rectangl(f,a,b,n) ne renvoie plus d'erreur
un peu genant mais cela reste un détail
voilà le programme (des fois que ... je ne suis pas toujours très sûr de moi !)
rectangl(f,a,b,n):={
local (X:=a),(S:=0),(R:=0),k;
for(k:=1;k<n;k++){
S:=S+f(X)*(b-a)/n;
X:=X+(b-a)/n;
R:=R+f(X)*(b-a)/n;
}
return ("S=",S);
return R;
}
ensuite j'appelle le programme
rectangl(x->1/(2-x^2),0,1,2)
et j'obtiens :
une fenetre qui s'ouvre marquée "sucess" qui m'oblige à cliquer OK puis :
"S=",1/(2*(2-x^2))
ce n'est pas à ça que je m'attendais.
Dans le doute j'ai pris l'exemple trapeze de la doc, même problème :
1) trapez car trapeze envoie le message d'erreur :
Syntax compatibility mode: xcas
Erreur grammaticale ligne 1 a {
et puis 2) trapez(x->x^2+1,0,1,6)
renvoie
(x^2+1+(x^2+1.0+x^2+1.0)*0.5+x^2+1+x^2+1+x^2+1+x^2+1)/6
Stéphane Lejoly.
et j'obtiens une première erreur quand je nomme
rectangle(f,a,b,n)
alors que rectangl(f,a,b,n) ne renvoie plus d'erreur
un peu genant mais cela reste un détail
voilà le programme (des fois que ... je ne suis pas toujours très sûr de moi !)
rectangl(f,a,b,n):={
local (X:=a),(S:=0),(R:=0),k;
for(k:=1;k<n;k++){
S:=S+f(X)*(b-a)/n;
X:=X+(b-a)/n;
R:=R+f(X)*(b-a)/n;
}
return ("S=",S);
return R;
}
ensuite j'appelle le programme
rectangl(x->1/(2-x^2),0,1,2)
et j'obtiens :
une fenetre qui s'ouvre marquée "sucess" qui m'oblige à cliquer OK puis :
"S=",1/(2*(2-x^2))
ce n'est pas à ça que je m'attendais.
Dans le doute j'ai pris l'exemple trapeze de la doc, même problème :
1) trapez car trapeze envoie le message d'erreur :
Syntax compatibility mode: xcas
Erreur grammaticale ligne 1 a {
et puis 2) trapez(x->x^2+1,0,1,6)
renvoie
(x^2+1+(x^2+1.0+x^2+1.0)*0.5+x^2+1+x^2+1+x^2+1+x^2+1)/6
Stéphane Lejoly.
export latex d'une figure 2d
Bonjour, quand j'exporte en latex une figure, de DispG par exemple, on me réclame par un input : fltkcol.tex que Xcas ne me génère pas, est-ce normal ? Il me dit de l'avoir déjà vu être créé lors d'un tel export mais là plus rien.
Stéphane Lejoly.
PS : tenez moi au courant pour la version Mac avec Pari non désactivé (même si ce n'est pas dans l'immédiat), merci d'avance.
Stéphane Lejoly.
PS : tenez moi au courant pour la version Mac avec Pari non désactivé (même si ce n'est pas dans l'immédiat), merci d'avance.
bonjour,
pour les rectangles, rectangle est un mot-clef de xcas qui cree un rectangle, votre programme marche bien chez moi, avez-vous installe la derniere version de Xcas pour mac? J'ai en effet corrige recemment un bug qui affectait l'evaluation de fonctions, mais je ne suis pas sur d'avoir recompile pour mac depuis.
Pour l'export latex, c'est peut-etre un probleme de chemin, en principe xcas cree un fichier fltkcol.tex et un fichier tex qui contient \input fltkcol.tex, est-ce que vous arrivez a le localiser?
Pour la version de xcas avec pari, j'ai refait un essai de recompilation de la libpari sur mac, mais ca ne marche toujours pas et je ne vois pas ce qui cloche.
pour les rectangles, rectangle est un mot-clef de xcas qui cree un rectangle, votre programme marche bien chez moi, avez-vous installe la derniere version de Xcas pour mac? J'ai en effet corrige recemment un bug qui affectait l'evaluation de fonctions, mais je ne suis pas sur d'avoir recompile pour mac depuis.
Pour l'export latex, c'est peut-etre un probleme de chemin, en principe xcas cree un fichier fltkcol.tex et un fichier tex qui contient \input fltkcol.tex, est-ce que vous arrivez a le localiser?
Pour la version de xcas avec pari, j'ai refait un essai de recompilation de la libpari sur mac, mais ca ne marche toujours pas et je ne vois pas ce qui cloche.
Ok pour "rectangle" et d'ailleurs "trapeze" pose le meme problème car j'ai cru voir que c'est une option pour le calcul d'intégrales, donc, pour le reste j'ai fait la mise à jour et effectivement ça marche !
Merci.
1) Sinon comment faire pour qu'un programme me donne une réponse en 2 temps du style :
return(S); là une pose et puis (on retape entrée ou autre...?)
return(R);
2) Pour le fichier fltkcol.tex il était à la racine du disque ! D'ailleurs comment ce fait-il qu'il ne se soit pas enregistré au même endroit que le fichier.tex ?
3) Y a t-il un moyen de configurer xcas pour que par defaut les fichiers et les sauvegardes automatiques s'enregistrent sur le bureau plutôt qu'à la racine ?
Stéphane Lejoly.
Merci.
1) Sinon comment faire pour qu'un programme me donne une réponse en 2 temps du style :
return(S); là une pose et puis (on retape entrée ou autre...?)
return(R);
2) Pour le fichier fltkcol.tex il était à la racine du disque ! D'ailleurs comment ce fait-il qu'il ne se soit pas enregistré au même endroit que le fichier.tex ?
3) Y a t-il un moyen de configurer xcas pour que par defaut les fichiers et les sauvegardes automatiques s'enregistrent sur le bureau plutôt qu'à la racine ?
Stéphane Lejoly.
en effet, trapeze est un mot reserve xcas, a utiliser dans la commande plotarea (qui fait la meme chose que votre programme, et affiche l'aire correspondante).
On ne peut pas faire 2 return de suite dans un programme, le premier return que l'on rencontre quitte la fonction immediatement. Il y a deux solutions:
- si vous vouez afficher une valeur, utiliser print. Pour avoir une pause, utilisez Pause
- si vous voulez renvoyer plusieurs valeurs, il faut les grouper dans une sequence et utiliser une variable pour ca, par exemple
res:=NULL;
...
res:=res,resultat_a_ajouter;
...
res:=res,autre_resultat_a_ajouter;
...
return res; (ou return [res]; pour renvoyer une liste)
Pour fltkcol.tex, je note, peut-etre que le mieux serait en effet de positionner le chemin courant de xcas au lancement a ~/Desktop (lorsqu'on le lance en cliquant sur Applications, si vous le lancez depuis un terminal ca ne doit pas poser de problemes j'imagine?). C'est le meme probleme pour votre 3eme point.
On ne peut pas faire 2 return de suite dans un programme, le premier return que l'on rencontre quitte la fonction immediatement. Il y a deux solutions:
- si vous vouez afficher une valeur, utiliser print. Pour avoir une pause, utilisez Pause
- si vous voulez renvoyer plusieurs valeurs, il faut les grouper dans une sequence et utiliser une variable pour ca, par exemple
res:=NULL;
...
res:=res,resultat_a_ajouter;
...
res:=res,autre_resultat_a_ajouter;
...
return res; (ou return [res]; pour renvoyer une liste)
Pour fltkcol.tex, je note, peut-etre que le mieux serait en effet de positionner le chemin courant de xcas au lancement a ~/Desktop (lorsqu'on le lance en cliquant sur Applications, si vous le lancez depuis un terminal ca ne doit pas poser de problemes j'imagine?). C'est le meme probleme pour votre 3eme point.
J'ai toujours un problème avec les sauvegardes quand j'ouvre xcas avec le racourci d'Applications :
j'ouvre une session et je la sauve sur le bureau avec un nom débile :
/Users/stephanelejoly/Desktop/zz.xws
puis j'ouvre avec edit geo2d
puis ce niveau de geo je le sauve comme
/Users/stephanelejoly/Desktop/zzg
puis : ok
et là rien à faire le fichier est enregisté à la racine : /zzg.cas au lieu de /Users/stephanelejoly/Desktop/zzg.cas
et donc les fichiers tex le seront aussi.
Sinon, effectivement, avec le terminal si je me place sur le bureau puis que je lance xcas j'ouvre un niveau geo2d, je le sauve puis je l'imprime alors tout apparait sur le bureau.
Derniers petits soucis techniques :
- les racourcis :
option+g option+p option+t ... ne marchent pas.
-j'ai des problèmes de caractères claviers : par exemple si je tape ^ alors dans xcas c'est un " i accent grave " qui apparait (cela m'avait d'ailleurs posé qq problèmes pour le codage).
Stéphane Lejoly
j'ouvre une session et je la sauve sur le bureau avec un nom débile :
/Users/stephanelejoly/Desktop/zz.xws
puis j'ouvre avec edit geo2d
puis ce niveau de geo je le sauve comme
/Users/stephanelejoly/Desktop/zzg
puis : ok
et là rien à faire le fichier est enregisté à la racine : /zzg.cas au lieu de /Users/stephanelejoly/Desktop/zzg.cas
et donc les fichiers tex le seront aussi.
Sinon, effectivement, avec le terminal si je me place sur le bureau puis que je lance xcas j'ouvre un niveau geo2d, je le sauve puis je l'imprime alors tout apparait sur le bureau.
Derniers petits soucis techniques :
- les racourcis :
option+g option+p option+t ... ne marchent pas.
-j'ai des problèmes de caractères claviers : par exemple si je tape ^ alors dans xcas c'est un " i accent grave " qui apparait (cela m'avait d'ailleurs posé qq problèmes pour le codage).
Stéphane Lejoly
Pour les sauvegardes, j'espere pouvoir regler ca, par contre pour les questions d'accent et pour les Option, je n'ai malheureusement aucune idee de comment je pourrais corriger ces problemes (qui doivent plutot etre des problemes de FLTK). Pour ^, il reste toujours
la possibilite d'utiliser le clavier scientifique.
la possibilite d'utiliser le clavier scientifique.
Oui bien sur j'utilise le clavier numérique d'Xcas pour les symboles qui me posent problème, c'était "des fois que" !
Une petite question (encore !)
avec : plotarea(x^2,x=0..1,6,point_milieu) pas de problème
mais si je veux faire varier le partage avec un paramètre :
k:=element(0 .. 50)
plotarea(x^2,x=0..1,k,point_milieu)
cela marche avec k=25 par défaut mais dès que je fais varier k avec le curseur k je reçois un
" Error: Bad Argument Value"
je pense que cela vient du fait que k prend alors des valeurs décimales.
alors j'ai essayé de modifier avec :
k:=element(0 .. 50,integer)
mais dès que je bouge le curseur k reprend des valeurs décimales et je reçois le même message d'erreur.
Alors y-a-t-il un moyen pour s'en sortir ?
Stéphane Lejoly
Une petite question (encore !)
avec : plotarea(x^2,x=0..1,6,point_milieu) pas de problème
mais si je veux faire varier le partage avec un paramètre :
k:=element(0 .. 50)
plotarea(x^2,x=0..1,k,point_milieu)
cela marche avec k=25 par défaut mais dès que je fais varier k avec le curseur k je reçois un
" Error: Bad Argument Value"
je pense que cela vient du fait que k prend alors des valeurs décimales.
alors j'ai essayé de modifier avec :
k:=element(0 .. 50,integer)
mais dès que je bouge le curseur k reprend des valeurs décimales et je reçois le même message d'erreur.
Alors y-a-t-il un moyen pour s'en sortir ?
Stéphane Lejoly
Quand je fais ça et que commence à déplacer le curseur xcas plante immédiatement.
je vous donne le début du rapport du crash au cas ou :
Date/Time: 2007-03-27 14:59:00.130 +0200
OS Version: 10.4.9 (Build 8P2137)
Report Version: 4
Command: xcas
Path: /usr/local/bin/xcas
Parent: WindowServer [54]
Version: ??? (???)
PID: 305
Thread: 1
Exception: EXC_ARITHMETIC (0x0003)
Code[0]: 0x00000002
Code[1]: 0x14c05000
Thread 0:
0 com.apple.CoreFoundation 0x9081b692 __CFDictionaryFindBuckets2 + 110
1 com.apple.CoreFoundation 0x90823493 CFDictionarySetValue + 165
2 com.apple.AE 0x91519ea6 OSTypePairDictionary::addValue(unsigned long, unsigned long, void*) + 46
3 com.apple.AE 0x91519e74 HandlerTable::addHandler(unsigned long, unsigned long, short (*)(AEDesc const*, AEDesc*, long), long) + 50
4 com.apple.AE 0x91519d0b AEInstallEventHandler + 71
5 com.apple.HIToolbox 0x92e2687c RunApplicationEventLoop + 86
6 xcas 0x0062d154 0x1000 + 6472020
7 xcas 0x0062d3d7 0x1000 + 6472663
8 xcas 0x005fd5a3 0x1000 + 6276515
9 xcas 0x005fd612 0x1000 + 6276626
10 xcas 0x0006519b 0x1000 + 410011
11 xcas 0x00065270 0x1000 + 410224
12 xcas 0x00002a06 0x1000 + 6662
13 xcas 0x00002921 0x1000 + 6433
Thread 1 Crashed:
0 xcas 0x005dad84 0x1000 + 6135172
1 xcas 0x005d61b1 0x1000 + 6115761
2 xcas 0x0015c153 0x1000 + 1421651
3 xcas 0x0015c899 0x1000 + 1423513
4 xcas 0x00160869 0x1000 + 1439849
5 xcas 0x00727a45 giac::unary_function_unary::unary_function_unary[in-charge](giac::gen (*)(giac::gen const&) const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 99
6 xcas 0x00102dca 0x1000 + 1056202
7 xcas 0x003f9fe3 0x1000 + 4165603
8 xcas 0x00135ecf 0x1000 + 1265359
9 xcas 0x0013621b 0x1000 + 1266203
10 xcas 0x00136396 0x1000 + 1266582
11 xcas 0x00135e81 0x1000 + 1265281
12 xcas 0x003f9fc0 0x1000 + 4165568
13 xcas 0x00135ecf 0x1000 + 1265359
14 xcas 0x0013621b 0x1000 + 1266203
15 xcas 0x00196049 0x1000 + 1658953
16 xcas 0x002f2911 0x1000 + 3086609
17 libSystem.B.dylib 0x90024147 _pthread_body + 84
Thread 2:
0 libSystem.B.dylib 0x9001a0ec select + 12
1 libSystem.B.dylib 0x90024147 _pthread_body + 84
Thread 1 crashed with X86 Thread State (32-bit):
eax: 0x14c05000 ebx: 0x005dac57 ecx: 0x0000000d edx: 0x00000000
edi: 0xb011e824 esi: 0xb011e824 ebp: 0xb011e388 esp: 0xb011e320
ss: 0x0000001f efl: 0x00010282 eip: 0x005dad84 cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
...
je vous donne le début du rapport du crash au cas ou :
Date/Time: 2007-03-27 14:59:00.130 +0200
OS Version: 10.4.9 (Build 8P2137)
Report Version: 4
Command: xcas
Path: /usr/local/bin/xcas
Parent: WindowServer [54]
Version: ??? (???)
PID: 305
Thread: 1
Exception: EXC_ARITHMETIC (0x0003)
Code[0]: 0x00000002
Code[1]: 0x14c05000
Thread 0:
0 com.apple.CoreFoundation 0x9081b692 __CFDictionaryFindBuckets2 + 110
1 com.apple.CoreFoundation 0x90823493 CFDictionarySetValue + 165
2 com.apple.AE 0x91519ea6 OSTypePairDictionary::addValue(unsigned long, unsigned long, void*) + 46
3 com.apple.AE 0x91519e74 HandlerTable::addHandler(unsigned long, unsigned long, short (*)(AEDesc const*, AEDesc*, long), long) + 50
4 com.apple.AE 0x91519d0b AEInstallEventHandler + 71
5 com.apple.HIToolbox 0x92e2687c RunApplicationEventLoop + 86
6 xcas 0x0062d154 0x1000 + 6472020
7 xcas 0x0062d3d7 0x1000 + 6472663
8 xcas 0x005fd5a3 0x1000 + 6276515
9 xcas 0x005fd612 0x1000 + 6276626
10 xcas 0x0006519b 0x1000 + 410011
11 xcas 0x00065270 0x1000 + 410224
12 xcas 0x00002a06 0x1000 + 6662
13 xcas 0x00002921 0x1000 + 6433
Thread 1 Crashed:
0 xcas 0x005dad84 0x1000 + 6135172
1 xcas 0x005d61b1 0x1000 + 6115761
2 xcas 0x0015c153 0x1000 + 1421651
3 xcas 0x0015c899 0x1000 + 1423513
4 xcas 0x00160869 0x1000 + 1439849
5 xcas 0x00727a45 giac::unary_function_unary::unary_function_unary[in-charge](giac::gen (*)(giac::gen const&) const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 99
6 xcas 0x00102dca 0x1000 + 1056202
7 xcas 0x003f9fe3 0x1000 + 4165603
8 xcas 0x00135ecf 0x1000 + 1265359
9 xcas 0x0013621b 0x1000 + 1266203
10 xcas 0x00136396 0x1000 + 1266582
11 xcas 0x00135e81 0x1000 + 1265281
12 xcas 0x003f9fc0 0x1000 + 4165568
13 xcas 0x00135ecf 0x1000 + 1265359
14 xcas 0x0013621b 0x1000 + 1266203
15 xcas 0x00196049 0x1000 + 1658953
16 xcas 0x002f2911 0x1000 + 3086609
17 libSystem.B.dylib 0x90024147 _pthread_body + 84
Thread 2:
0 libSystem.B.dylib 0x9001a0ec select + 12
1 libSystem.B.dylib 0x90024147 _pthread_body + 84
Thread 1 crashed with X86 Thread State (32-bit):
eax: 0x14c05000 ebx: 0x005dac57 ecx: 0x0000000d edx: 0x00000000
edi: 0xb011e824 esi: 0xb011e824 ebp: 0xb011e388 esp: 0xb011e320
ss: 0x0000001f efl: 0x00010282 eip: 0x005dad84 cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
...
Rien à faire j'ai remis à jour Xcas, j'ai refais l'exemple et dès je touche au curseur Xcas plante immédiatement.
Il faudra que j'essaie chez moi sur le Mac PPC mais sur le Mac intel pour le moment ça ne marche pas.
Dites moi si le rapport du crash vous apporte des renseignements je peux vous l'envoyer.
Stéphane Lejoly
Il faudra que j'essaie chez moi sur le Mac PPC mais sur le Mac intel pour le moment ça ne marche pas.
Dites moi si le rapport du crash vous apporte des renseignements je peux vous l'envoyer.
Stéphane Lejoly
ca risque d'etre tres difficile de trouver l'erreur si je ne peux pas le voir sur le mac PPC, il faudrait que je me procure un mac intel mais je ne vois pas ou...
(la trace du crash ne me sert guere car je ne peux pas inspecter les variables comme au debuggueur)
Pour la doc, je vais essayer de regarder le probleme
(la trace du crash ne me sert guere car je ne peux pas inspecter les variables comme au debuggueur)
Pour la doc, je vais essayer de regarder le probleme