# Solving equations involving the modified Bessel function

I want to solve this equation

Solve[s^2/y^2 (x - y + 2 g BesselI[1, s/y]) == 2 g y BesselI[1, s/y], s]


and substitute s in

Sqrt[(Gamma^2 - 1)/(1 + (s/y)^2)] == x + 2 g (1 + (s/y)^2)/(s/y) BesselI[1, s/y]


so that g = 0.05 and Gamma = 2.957 and solve it.

How can I do this and how can plot y versus x?

• Note that Gamma is a protected symbol denoting the gamma function. You should use maybe gamma. In general, if you avoid start your variables & functions with lowercase letters, you won't conflict with the built-in symbols. – Michael E2 Jul 3 '17 at 15:32
• A better way to describe the problem is that you have 3 variables and two equations, and you want to eliminate one of the variables, $s$. – MikeY Jul 4 '17 at 13:06

Although it is possible to eliminate s numerically (probably with FindRoot) to obtain y as a numerical function of x, which then can be plotted, it is much easier to obtain x and y as symbolic functions of a third variable, after which they can be plotted using ParametricPlot. Begin by introducing a new variable, z == s/y, and inserting values for g and gamma.

eq = {(s^2/y^2 (x - y + 2 g BesselI[1, s/y]) == 2 g y BesselI[1, s/y]),
Sqrt[(gamma^2 - 1)/(1 + (s/y)^2)] == x + 2 g (1 + (s/y)^2)/(s/y) BesselI[1, s/y]}
/. s -> z y /. {g -> 0.05, gamma -> 2.957}
(* {z^2 (x - y + 0.1 BesselI[1, z]) == 0.1 y BesselI[1, z],
2.78278 Sqrt[1/(1 + z^2)] == x + (0.1 (1 + z^2) BesselI[1, z])/z} *)


Next, solve for x and y in terms of z

sol = {x, y} /. Flatten@Solve[eq, {x, y}]
(* {2.78278 Sqrt[1/(1. + z^2)] - (0.1 BesselI[1., z])/z - 0.1 z BesselI[1., z],
-((0.1 (-27.8278 z^2 Sqrt[1/(1. + z^2)] + 1. z BesselI[1., z] -
1. z^2 BesselI[1., z] + 1. z^3 BesselI[1., z]))/(1. z^2 + 0.1 BesselI[1., z]))} *)


and plot.

ParametricPlot[sol, {z, 10^-10, 4}, PlotRange -> All,
AspectRatio -> 1/GoldenRatio, AxesLabel -> {x, y}, LabelStyle -> Directive[12, Bold]]


• Very slick answer. – MikeY Jul 5 '17 at 13:58

ParametricPlot[sol, {z, -4, 4}, PlotRange -> All,