Bug, résolution équation

Bugs

Modérateur : xcasadmin

erougier1
Messages : 7
Inscription : mar. avr. 07, 2009 9:13 am

Bug, résolution équation

Message par erougier1 » jeu. avr. 09, 2009 4:32 pm

Pour la résolution de l'équation : solve(x/(2*ln(x)+1)^2=m*x)[0]
Xcas répond : -(exp(1/m*(-m+sqrt(m))*1/2))

Alors que la plus petite solution de cette équation est :
exp(1/m*(-m+sqrt(m))*1/2)

Cordialement

Eric ROUGIER

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

Message par parisse » jeu. avr. 09, 2009 5:37 pm

En effet, xcas renvoie 2 solutions négatives en trop, cela vient de la réécriture par simplify de
x/(2*ln(x)+1)^2-m*x
sous la forme de
(-x)*(m*ln(x^2)^2+2*m*ln(x^2)+m-1)/(ln(x^2)+1)^2
(le 2*ln(x) est transformé en ln(x^2)).
Pour le moment, je ne vois pas trop comment empêcher cela sans rendre simplify inopérant, sauf bien sur en faisant solve après simplification par x à la main. Ou alors il faudrait considérablement augmenter le nombre de tests de validité des solutions.

erougier1
Messages : 7
Inscription : mar. avr. 07, 2009 9:13 am

Une autre erreur

Message par erougier1 » lun. avr. 13, 2009 8:42 am

Pour :

Code : Tout sélectionner

partfrac((5*x^2+21*x+22)/((x-1)*(x+3)^2))
Xcas renvoie :

Code : Tout sélectionner

3/(x-1)-1/((x+3)^2)+2/(x+3)
OK
Mais pour :

Code : Tout sélectionner

 int((5*x^2+21*x+22)/((x-1)*(x+3)^2),x)
Xcas renvoie :

Code : Tout sélectionner

3*ln(abs(x-1))+2*ln(abs(x+3))+(2*x+5)/(-x-3)
Il y a un problème...

Par contre, pour :

Code : Tout sélectionner

int(3/(x-1)-1/((x+3)^2)+2/(x+3),x)
Xcas retourne bien :

Code : Tout sélectionner

3*ln(abs(x-1))-1/(-x-3)+2*ln(abs(x+3))
Cordialement

Eric

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

Message par parisse » lun. avr. 13, 2009 1:03 pm

Là ca ne me semble pas être un bug, c'est juste la constante d'intégration qui n'est pas la même.

erougier1
Messages : 7
Inscription : mar. avr. 07, 2009 9:13 am

Message par erougier1 » lun. avr. 13, 2009 6:44 pm

En effet, désolé mais j'aurais du réfléchir en peu avant de poster mon message.

Répondre