       Re: FindRoot problem

• To: mathgroup at smc.vnet.net
• Subject: [mg40045] Re: [mg40032] FindRoot problem
• From: Dr Bob <drbob at bigfoot.com>
• Date: Mon, 17 Mar 2003 03:33:51 -0500 (EST)
• References: <200303160748.CAA03198@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```The error message is very specific.  Mathematica can't calculate the
Jacobian of If or Which.  You may try using the Jacobian option to specify
it.

Bobby

On Sun, 16 Mar 2003 02:48:07 -0500 (EST), Pigeon, Robert
<Robert.Pigeon at drdc-rddc.gc.ca> wrote:

> Good day,
> 	I have a problem with FindRoot that I do not understand, so I am
> asking for help!  I have a function defined as a Module.  I use FindRoot
> to
> find a root when the function is given a value.  Everything works fine
> except when I put a condition to my function, when I do I get an error
> message.  Here what I try to do:
>
> f[x_]:= Module[{}, Sec[x] - 0.0018167 (Sec[x]-1) - 0.002875 (Sec[x]-1)^2 -
> 0.000808 (Sec[x]-1)^3 ];
> f::usage="explanation of f";
>
> If I do
> FindRoot[f[x]==10,{x,1.4}]
> I get
> {x->1.53501}
> All that is correct.
>
> But now if I do
> f[x_ /; x>= 0 && x<= 1.54]:= same as above
> and I try to find the root the same way, I get an error message
> FindRoot[f[x]==10,{x,1.4}]
> I get
> FindRoot::frjc: Could not symbolically find the Jacobian of {f[x]-10.
> Try
> giving two starting values for each variable.
>
> I tried putting my conditions inside the Module, after the Module.  I
> tried
> to use Which, If.  But, as soon as I put a condition, I get the same
> error.
>
> Any idea ???
>
> Thanks,
>
> Robert
>
>
>

--
majort at cox-internet.com
Bobby R. Treat

```

• References:
• Prev by Date: Re: Odd memory behavior, and uncontrollable memory growth
• Next by Date: RE: FindRoot problem
• Previous by thread: FindRoot problem
• Next by thread: RE: FindRoot problem