piecewise

Bugs

Modérateur : xcasadmin

alb
Messages : 1229
Inscription : ven. août 28, 2009 3:34 pm

piecewise

Message par alb » ven. mai 29, 2015 7:55 pm

f(x):=piecewise(x<-4,undef,x<0,-x,x<1,-4x,x<3,2*x-6,x<4,-8*x+24,undef);
resoudre(f(x)=2) // liste vide or x=-2 est solution
resoudre(f(x)>0) // Erreur: Valeur Argument Incorrecte

fMin(f(x)) devrait-il marcher ici ?

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: piecewise

Message par parisse » sam. mai 30, 2015 12:53 pm

C'est a cause des undef. Avec
f(x):=piecewise(x<0,-x,x<1,-4x,x<3,2*x-6,x<4,-8*x+24,1);
il n'y a pas de problemes.
Pas sur que je puisse ameliorer ca facilement...

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: piecewise

Message par parisse » sam. mai 30, 2015 1:12 pm

bon peut-etre que si finalement, en remplacant undef par undef_ au debut de l'implementation de solve.

alb
Messages : 1229
Inscription : ven. août 28, 2009 3:34 pm

Re: piecewise

Message par alb » sam. mai 30, 2015 2:32 pm

je n'avais pas pense à essayer sans les undef :-(
il y a un cas qui s'affiche mal:
f(x):=piecewise(x<0,-x,x<1,-4x,x<3,2*x-6,x<4,-8*x+24,0);
resoudre(f(x)=0) // list[0,3,expr("not(((0>x) or (1>x) or (3>x) or (4>x)))",0)]

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: piecewise

Message par parisse » sam. mai 30, 2015 3:46 pm

c'est le cas par defaut, difficile a simplifier (il n'y a pas de logique de ce type implementee dans xcas).

Répondre