Finding Argument of Bessel Function (1st Kind) to Return Known Solution

5 vues (au cours des 30 derniers jours)
I have an equation of the form 0.3005 = J0(2.405x/165) and want to find the value of x (between 0 and 160) that satisfies this equation. How would I go about coding this in Matlab? This is what I have so far.
syms r
ex = 5;
R = 160;
F = (2.405*r)/(R + ex);
Ratio = 0.3005;
q = F == Ratio;
vpasolve(besselj(0,F))
WolframAlpha returns r = 128.15 for this equation, but I can't seem to get this value from Matlab.

Réponse acceptée

David Goodmanson
David Goodmanson le 26 Sep 2021
Modifié(e) : David Goodmanson le 26 Sep 2021
Hello 1:5,
syms r
ex = 5;
R = 160;
F = besselj(0,(2.405*r)/(R + ex));
Ratio = 0.3005;
q = F == Ratio;
vpasolve(q,r,[0 200])
ans = 128.1492381636410113226607742437

Plus de réponses (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 26 Sep 2021
If you set the solution range, then you will get a positive solution, e.g.:
...
Sol = vpasolve(besselj(0,F), r, [0, 165])

Catégories

En savoir plus sur Bessel functions dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by