Page 1 sur 1

Ne garder que la valeur positive !

MessagePublié: 17 Mars 2010, 00:01
par p75
Bonsoir,

J'ai un calcul avec solve qui renvoie 2 valeurs (négative et positive), comment faire pour ne garder que la valeur positive ?


right(solve(1=(0.055/1.050694)+(1.055/(1+x)^2), x)->res


lors de l'exécution, j'obtiens x =-2.05512 or x =0.055119

au lieu de faire un if pour tester la valeur res, il y a pas une contrainte supplémentaire à ajouter pour obtenir directement res =0.055119


Merci

Re: Ne garder que la valeur positive !

MessagePublié: 17 Mars 2010, 00:46
par nelsonsousa
you must be careful when using solve because depending on the equation you're using you may get 1, 2 or plus answers. Or none. Each case is different and should be treated differently. Even with only two answers you may get one positive and one negative, two negative ones, ...

If you know which results you're getting and that there are always 1 positive and 1 negative answers, then you can use

solve(equation,x)|x>0

This will discard the negative answer.

Re: Ne garder que la valeur positive !

MessagePublié: 17 Mars 2010, 23:45
par p75
Hello Nelson,

Thanks for your help. I used this condition to solve systems of equations but I have not checked in cas of solve.

Paul