 
 
 
 
 
 
Re: FindRoot behaving funny?
- To: mathgroup at smc.vnet.net
- Subject: [mg15822] Re: FindRoot behaving funny?
- From: "W. K. Bertram" <wkb at ansto.gov.au>
- Date: Fri, 12 Feb 1999 18:39:43 -0500 (EST)
- Organization: Australian Nuclear Science and Technology Organisation
- References: <79ebqo$9u0@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Doug Webb wrote:
> Hello,
>   This is a simplified example of I problem I have run into with
> FindRoot. Does anybody have any idea why it's doing what it is? And if
> so, how I can make it do what I want, or some other work around? Thanks
> for any info. Here's the example:
>
> define a function that takes one input, and outputs two results:
>
> r[x_] := {x, x^2}
>
> It does what's expected:
>
> r[4]
> {4,16}
>
> Now, find a solution using FindRoot:
>
> FindRoot[ r[x] == {5, 25}, {x, 2}]
>
> returns an error (rather than the obvious answer of x->5):
>
> FindRoot::"frnum":
>     "Function {{-3., -21.}} is not a length 1 list of numbers at {x}
> ={2.}."
>
The reason why mathematica can't handle your problem in that way becomes
apparent when you try for example;
         FindRoot[ r[x] == {5, 12}, {x, 2}]
Clearly there is no single x-value that solves this. In fact, in general
the equation r[x] == {r1,r2} has no solution. One way of making your
problem comprehensible to Mathematica is
      FindRoot[{r[x1][[1]]==5, r[x2][[2]]==25},{x1,2},{x2,2}]
Cheers,
    Bill

