Re: Nullcline and getting "2" values for y

• To: mathgroup at smc.vnet.net
• Subject: [mg81471] Re: Nullcline and getting "2" values for y
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Wed, 26 Sep 2007 06:22:11 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <fd7s8h\$cgc\$1@smc.vnet.net>

```sean_incali wrote:

> I have this equation I can plot using the following
>
> ClearAll["Global`*"]
>
>
> fun = (b c y - a y^ n + y^(1 + n))/(b + y^n);
> d = 0.1;
> c = 1;
> b = 10;
> a = 11;
> n = 5;
> ParametricPlot[{fun, (y)}, {y, 0, 1}, PlotRange -> All]
>
> I am plotting the function "fun" against values of y.
>
> When I do that I get a curvew that clearly shows that, for a given
> value of y, I should get two value for the function.
>
> How do I get what they are?
>
> If I just go..
>
> d = 0.1;
> c = 1;
> b = 10;
> a = 11;
> n = 2;

Note that the value of n has changed: the first graph was done with n ==
5 whereas this one is drawn with n == 2.

> y = 0.5;
>
> (b c y - a y^ n + y^(1 + n))/(b + y^n)
>
> I get
>
> 0.231707
>
> but starting at y=0 all the way to y= 0.6 or so, there are two values!
> (according to the graph)
>
> How do I get what those values are?

Hi Sean,

I am not sure to have followed or understood correctly what you
attempted to do; nevertheless, I believe that the following will help.

First, let's rewrite the 'equation' as a function of y and set the
parameters as a list of replacement rules.

In[1]:= fun[y_] := (b c y - a y^n + y^(1 + n))/(b + y^n)
params = {d -> 1/10, c -> 1, b -> 10, a -> 11, n -> 5};
ParametricPlot[{fun[y] /. params, y}, {y, 0, 1}, PlotRange -> All]

[... graphic deleted ...]

In[4]:= fun[0.5] /. params

Out[4]= 0.465732

The above value is indeed correct and unique. It correspond to the value
of f[y] when y is equal to 1/2, as you can see in the plot below.

In[5]:= Plot[fun[y] /. params, {y, 0, 1}]

[... graphic deleted ...]

So what you are looking for is the solutions to the equation f[y] ==
1/2, that is, "For which values of y do we have f[y] equal to a half?"
This can be answer by either *Solve* or *Reduce*, the advantage of
*Reduce* is that we can use inequalities in addition to equations.

In[6]:= Solve[fun[y] == 1/2 /. params, y]

Out[6]= {{y -> Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 1]}, {y ->
Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 2]}, {y ->
Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 3]}, {y ->
Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 4]}, {y ->
Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 5]}, {y ->
Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 6]}}

In[7]:= Reduce[{fun[y] == 1/2 /. params, 0 <= y <= 1}, y]

Out[7]= y == Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 2] ||
y == Root[-10 + 20 #1 - 23 #1^5 + 2 #1^6 &, 3]

In[8]:= % // N

Out[8]= y == 0.560536 || y == 0.742059

Regards,
--
Jean-Marc

```

• Prev by Date: Question about InputField
• Next by Date: Wanted: Demonstrations Authors and Editors
• Previous by thread: Re: Nullcline and getting "2" values for y
• Next by thread: Re: Nullcline and getting "2" values for y