# Finding different roots of an equation [duplicate]

I have an equation and I want to solve it with FindRoot but is there any way to give a range to FindRoot instead of giving a point? this is my MMA code:

uvariable3 =
u /. FindRoot[(1/(1/u^2 + 1/(v^2 - u^2)))*((
BesselJ[m - 1, u] - BesselJ[m + 1, u])/(
2*u*BesselJ[m,
u]) + (BesselK[m - 1, Sqrt[v^2 - u^2]] +
BesselK[m + 1, Sqrt[v^2 - u^2]])/(-2*Sqrt[v^2 - u^2]*
BesselK[m, u]))*((BesselJ[m - 1, u] - BesselJ[m + 1, u])/(
2*u*BesselJ[m,
u]) + ((n2/
n1)^2*((BesselK[m - 1, Sqrt[v^2 - u^2]] +
BesselK[m + 1, Sqrt[v^2 - u^2]])/(-2*Sqrt[v^2 - u^2]*
BesselK[m, u])))) - m^2/u^2 ==
m^2*((n2/n1)^2*1/(v^2 - u^2)), {u, 1.5}]


and u is the only variable. I have the value for other variables.

## marked as duplicate by Szabolcs, Henrik Schumacher, m_goldberg, mikado, Bob HanlonSep 11 '18 at 5:29

• Try NSolve: NSolve[{f[x] == g[x], xmin <= x <= xmax}, x]. If appropriate, you can also restrict the domain. – Bob Hanlon Sep 10 '18 at 12:57
• Actually, NSolve does not give me any root. so I plotted the rhs and lhs and then by using this plot I give a point too FindRoot to find the root but I have more than one root and so I have to change the starting point to find all the roots – sara Sep 10 '18 at 13:23
• Map FindRoot onto a list of starting points taken from the Plot: FindRoot[f[x] == g[x], {x, #}] & /@ pts – Bob Hanlon Sep 10 '18 at 13:28
• Why didn't you publish your equation as MMA code? – Ulrich Neumann Sep 10 '18 at 13:33
• Do you already know how FindRoot works (Newton's method) and why it gives you a single root only? – Szabolcs Sep 10 '18 at 13:58

FindRoot[lhs==rhs,{x, x_start,  x_min, x_max}]