I found the mistake. It is simple:
104.77 is a fake solution.
Even when 107.44 solves: x^2100x500=0, it does not solve:
2*x + (x*(x + 5)^(1/2))/5 + 10=0.
The problem is that, when factorizing, we square both sides of the equation, and a minus sign "disappears" forever. Hence, we cant get back the long equation from the short one.
Thank you all,
A.
"Alejandro Mosiño" <Alejandro.Mosino@etu.univsavoie.fr> wrote in message <icolec$9cl$1@fred.mathworks.com>...
> Hello everyone,
>
> I have this problem. Assume that you use fzero to find a root for the following equation:
>
> 2*x + (x*(x + 5)^(1/2))/5 + 10=0
>
> fzero fails! However, by doing some math, you can write the equation as:
>
> x^2100x500=0.
>
> If you apply fzero on this new equation, Matlab will return the correct aswer (104.77).
>
> Usually i can't factorize the equation, then i need to find a way to solve the equation as in the former case. Do you have any suggestions?
>
> Thank you very much,
>
> Alejandro
