# Find solutions of equation involving Bessel functions

I'm new in Mathematica and I'm trying to find the solutions of this equation involving Bessel functions

$$\eta \frac{ J_{n+1}(\eta a)}{J_n(\eta a)}+\chi \frac{ I_{n+1}(\chi a)}{I_n(\chi a)}=0$$

where,

$$\eta =\sqrt{\frac{\beta ^2 \left(\sqrt{\frac{4 \alpha ^2 \omega ^2}{\beta ^2}+1}-1\right)}{2 \alpha ^2}} \,\,\,,\,\,\,\,\,\chi =\sqrt{\frac{\beta ^2 \left(\sqrt{\frac{4 \alpha ^2 \omega ^2}{\beta ^2}+1}+1\right)}{2 \alpha ^2}}$$

and

$$\alpha =\sqrt{\frac{h^2 M}{12 \left(1-\nu ^2\right) \rho }} \,\,,\,\,\, \beta =\sqrt{\frac{M T}{\left(1-\nu ^2\right) \rho }}$$

So at the end, my equation is a function of n (which is an integer), $\omega$, h and T.

I need to find the values of $\omega$ or eigenfrequencies for which the equation is satisfied.

Based on this post Trying to solve a transcendental equation involving Bessel functions, I tried the following:

f[n_, ω_, h_,T_] := η*BesselJ[n+1,η*a]/BesselJ[n,η*a]
+ χ*BesselI[n+1, χ*a]/BesselI[n,χ*a]


and

Manipulate[Plot[f[n_, ω_, h_, T_], {ω, 0, 10}, PlotRange -> {-1000, 1000}],
{n, 0, 5, 1}, {h, 0.1, 1}, {T, -1, 1}]


but the plot does not show anything. (I set a=1)

With the help of Bill's edits, the code should look like this:

Clear[f, omega, alpha, beta, h, M, T, v, rho];
eta =
Sqrt[beta^2 (Sqrt[4 alpha^2 omega^2/beta^2 + 1] - 1)/(2 alpha^2)];
chi =
Sqrt[beta^2 (Sqrt[4 alpha^2 omega^2/beta^2 + 1] +
1)/(2 alpha^2)];
alpha =
Sqrt[h^2 M/(12 (1 - v^2) rho)];
beta = Sqrt[M T/((1 - v^2) rho)];
a = 1;

f[n_, omega_, h_, T_] =
eta*BesselJ[n + 1, eta*a]/BesselJ[n, eta*a] +
chi*BesselI[n + 1, chi*a]/BesselI[n, chi*a];

Manipulate[
Plot[f[n, ω, h, T], {ω, 0, 10},
PlotRange -> {-1000, 1000}], {n, 0, 5, 1}, {h, 0.1, 1}, {T, -1, 1}]


The main missing ingredient is that you defined the parameters eta and chi outside of the function f, but these parameters actually depend on variables that are supposed to be fed into the function (omega and the things entering alpha, beta). To make sure that these outside definitions are incorporated into the definition of f, you can replace SetDelayed by Set (making sure that the necessary variables are cleared. So you just replace the f[...] := ... by f[...] = ....

• Thank you very much! This is very helpful! – Jemme Sep 5 '14 at 16:45