Page 1 sur 1

solve et sign et piecewise en général

Publié : dim. oct. 19, 2008 1:44 pm
par Guillaume
Bonjour,

j'entre f:=x->abs(x);

puis fp:=function_diff(f);

fp(x) me renvoie sign(x)

mais solve(fp(x)=0,x) me renvoie
Unable to isolate function sign

Est-ce possible d'obtenir [] à la place ?

Si je rentre f avec piecewise, c'est pire...

Publié : dim. oct. 19, 2008 4:15 pm
par parisse
tiens, chez moi ca fait la meme erreur Unable to isolate avec solve(piecewise(...),x)
En effet, ni piecewise ni sign ne sont reconnus par isolate. Je vais essayer de m'en occuper la semaine prochaine (pour sign ca devrait etre facile, pour piecewise un peu moins...)

Publié : mer. oct. 22, 2008 9:17 am
par parisse
Je viens de mettre en ligne xcas_root/user avec le solver qui accepte piecewise. Dites-moi si ca fonctionne comme souhaite!

Publié : mer. oct. 22, 2008 7:11 pm
par Guillaume
Ça ne semble pas marcher. Je viens de mettre à jour pourtant.
J'ai la 0.8.1 de 21h10..

0>> f:=x->piecewise(x<0,-1,1)
// Success
// End defining f
(x)->piecewise(x<0,-1,1)

// Time 0
1>> solve(f(x)=0,x)
[]

// Time 0.01
2>> solve(f(x)=1,x)
[x]

// Time 0
3>> solve(f(x)=-1,x)
[]

et avec sign, ça ne marche pas non plus.

Publié : jeu. oct. 23, 2008 6:09 am
par parisse
En effet, pour piecewise, j'ai juste fait le cas des fonctions non constantes par morceaux. Quel est le probleme pour sign?

Publié : jeu. oct. 23, 2008 7:36 am
par Guillaume
OK : ça marche avec la version de ce matin avec sign. Merci !

Publié : ven. oct. 24, 2008 6:54 am
par parisse
j'ai legerement modifie solve/piecewise. Ce n'est pas ideal car la reponse peut contenir des and des or et des not qui ne sont pas simplifies (et pas simplifiables pour le moment avec xcas) mais ca devrait eviter des reponses fausses.

Publié : ven. oct. 24, 2008 7:11 am
par Guillaume
Bravo ! C'est excellent ! Les and ne sont pas plus perturbants que les & habituels et les not permettent aux élèves d'étudier les complémentaires...
Encore merci.

PS : quand je fais giac -v, j'ai encore 0.8.1...

Publié : ven. oct. 24, 2008 7:52 am
par parisse
ok, ca devrait etre 0.8.2 maintenant.

Publié : ven. oct. 24, 2008 11:06 am
par Guillaume
OK !