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

5 ビュー (過去 30 日間)
Matlab12345
Matlab12345 2021 年 9 月 26 日
回答済み: Sulaymon Eshkabilov 2021 年 9 月 26 日
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 Center および File ExchangeBessel functions についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by