Re: Help with find root needed
- To: mathgroup at smc.vnet.net
- Subject: [mg88980] Re: Help with find root needed
- From: dh <dh at metrohm.ch>
- Date: Thu, 22 May 2008 06:17:21 -0400 (EDT)
- References: <g11r1s$a95$1@smc.vnet.net>
Hi Aaron,
the slope at strating point 10 is too large and the algorithm
overshoots. Choose a better starting point, e.g. Max[1,gamma]
Further, if the root is near 1 you must allow Mathematica to search around 1.
Simply change {z,10,1,10} to {z,10,0.5,10}. Here is the correction:
K[h_,\[Gamma]_]:=z/.FindRoot[f[z,h,\[Gamma]]==0,{z,Max[1,\[Gamma]],0.5,10}];
hope this helps, Daniel
Aaron Fude wrote:
> Hi,
>
> In what follows, I'm looking for the largest root of a function, that
> is also a function of two parameters. The Manipulate command shows me
> that the root is consistently there (albeit near a singularity which
> might be what's causing problems). However, FindRoot doesn't find it
> as the plot shows. I get one error, but my guess is that it's
> referring to one particular point on the plot.
>
> f[z_, h_, \[Gamma]_] :=
> Tanh[h*z] + (\[Gamma]^2 + 1 - z^2)/(\[Gamma]^2 - 1 - z^2) *
> z/\[Gamma];
> Manipulate[
> Plot[f[z, h, \[Gamma]], {z, 0, 10}], {h, .1, 10}, {\[Gamma], .1,
> 10}]
> K[h_, \[Gamma]_] :=
> z /. FindRoot[f[z, h, \[Gamma]] == 0, {z, 10, 1, 10}];
> Plot3D[K[h, \[Gamma]], {h, .1, 10}, {\[Gamma], .1, 10}]
>
> Many thanks in advance!
>
> Aaron
>
--
Daniel Huber
Metrohm Ltd.
Oberdorfstr. 68
CH-9100 Herisau
Tel. +41 71 353 8585, Fax +41 71 353 8907
E-Mail:<mailto:dh at metrohm.com>
Internet:<http://www.metrohm.com>