Re: FindROot and substitutions

• To: mathgroup at smc.vnet.net
• Subject: [mg89851] Re: FindROot and substitutions
• From: magma <maderri2 at gmail.com>
• Date: Sun, 22 Jun 2008 03:26:12 -0400 (EDT)
• References: <g3ihp3\$fd5\$1@smc.vnet.net>

```On Jun 21, 11:31 am, Aaron Fude <aaronf... at gmail.com> wrote:
> Hi,
>
> I have found a workaround for this problem, but I would like to
> understand how Mathematica wants you to think so I'm asking the
> question anyway.
>
> Why does "bad" not work, while "good" works?
>
> g := x z;
> bad[z_] := FindRoot[ g == 5, {x, -10, 10 }];
> good[k_] := FindRoot[ g == 5 /. z -> k, {x, -10, 10 }];
> good[6]
>
> Thanks!
>
> Aaron

If you execute

On[]
Off[]

you can solve the arcane.
You get a lengthy output, but from the very first lines you can
clearly see that g gets replaced by x z, but z never gets replaced by
5.
So FindRoot starts looking for solutions of x z == 5, which is a
symbolic equation (z is a symbol) and cannot be "Findroot-ed".

This is a working code:

gg[z_] := x z
notsobad[z_] := FindRoot[gg[z] == 5, {x, -10, 10}]

and now...