You can use Solve
to find values of y
for a given value of x
:
yy[x_?NumericQ] := y /. NSolve[y==11+(1+2x)((11x)/(5+10x))^((3y)/(3y-(5+x))), y, Reals]
It's a bit slow, but it works:
yy[1] //AbsoluteTiming
yy[100] //AbsoluteTiming
{0.002267, {13.0802}}
{0.001798, {33.6105, 234.514}}
You can use Reduce
to find the range of y
values for a given x
value:
rng[x_?NumericQ] := N @ Reduce[y > 11+(1+2x)((11x)/(5+10x))^((3y)/(3y-(5+x))), y, Reals]
For example:
rng[1]
rng[100]
y > 13.0802
33.6105 < y < 35. || y > 234.514
If you want to plot the variation of the y
that satisfies your equation, you could try using Plot
. I will use a domain where the function yy
isn't too slow:
Plot[yy[x], {x, 30, 40}]
If you try this with a range with a lower x
-bound, it will be too slow. In that case, I recommend a technique that I often suggest. Use NDSolveValue
. For your case it would proceed as follows. Create the ODE and find an initial value:
eqn = y == 11+(1+2x)((11x)/(5+10x))^((3y)/(3y-(5+x)));
ode = D[eqn /. y->y[x], x];
y1 = yy[1]
{13.0802}
Then, use NDSolveValue
(there is a singularity at the origin which I avoid by starting at $MachineEpsilon
):
sol = NDSolveValue[{ode, y[1] == y1}, y, {x, $MachineEpsilon, 30}];
Visualization:
Plot[sol[t], {t, 0, 30}]
x
andy
are not free variables for which you can "change the value of both x and y dynamically." Do you mean you want to animate a point that traces along the curve? Or something else? $\endgroup$ContourPlot
? $\endgroup$