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

5 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

David Goodmanson
David Goodmanson am 26 Sep. 2021
Bearbeitet: David Goodmanson am 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

Weitere Antworten (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 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])

Kategorien

Mehr zu Bessel functions finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by