Re: FindRoot vs Solve
- To: mathgroup at smc.vnet.net
- Subject: [mg22452] Re: FindRoot vs Solve
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sun, 5 Mar 2000 00:23:47 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <89ichk$n45@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
first all solutions are valid, because you are searching for for
solutions of an equation with infinite many solutions you can't
say "right result" to the one you like.
In[]=FindRoot[28 Cos[phi1 Degree] - 20 == 0, {phi1, 0.2, -90, 90.}]
gives
{phi1 -> 44.4153}
FindRoot[] uses a damped Newton iteration. It is well known, that the
newton iteration jump between the multiple solutions of an equations
and I expect that the Newton iteration find differnt solutions depending
on the initial range and the starting point you give to FindRoot[].
Hope that helps
Jens
"F. Mittermayr" wrote:
>
> Why is FindRoot not able to solve an equation using "Degree"? Solve can do
> it.
>
> In[]=
>
> Solve[28. Cos[phi Degree] - 20. == 0, phi]
> FindRoot[28. Cos[phi1 Degree] - 20. == 0, {phi1, 0.1, 0.1, 90.}]
>
> Out[]=
>
> {{phi->-44.4153},{phi->44.4153}}
> {phi1->96.7112}
>
> Only the following statement gives the right result:
>
> In[]=
> FindRoot[28. Cos[phi2] - 20. == 0, {phi2, 0.1, 0.1, 90.}]
> Out[]=
> {phi2->0.775193}
>
> so long F. Mittermayr