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

조회 수: 3 (최근 30일)
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.

채택된 답변

David Goodmanson
David Goodmanson 2021년 9월 26일
편집: David Goodmanson 2021년 9월 26일
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

추가 답변 (1개)

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

카테고리

Help CenterFile Exchange에서 Bessel functions에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by