Solving equations for Bessel functions

13 vues (au cours des 30 derniers jours)
菲
le 3 Avr 2023
Commenté : le 3 Avr 2023
I want to use matlab to solve this equation,
the Bessel function of order 1 to 20, My equation is as follows:
jmi=(besselj(m-1, k_i.*a)+besselj(m+1, k_i.*a))./2;
jmo=(besselj(m-1, k_o.*a)+besselj(m+1, k_o.*a))./2;
ymo=(bessely(m-1, k_o.*a)+bessely(m+1, k_o.*a))./2;
f1 = (n_i .*jmi) ./ n_o .* besselj(m, k_o.*a);
f2 = ((besselj(m, k_o.*a).*jmo)+ (bessely(m, k_o.*a).*ymo))/(besselj(m, k_o.*a).^2+ bessely(m, k_o.*a).^2);
h=f1-f2;
[~,loc] = min(abs(h));
disp(lamda(loc));
It is quite different from the expected result. What is the problem?Thanks for help.

Réponses (1)

Torsten
Torsten le 3 Avr 2023
Déplacé(e) : Torsten le 3 Avr 2023
I cannot recover your equation from the code you posted.
Does that help ?
syms x
syms m integer
J = besselj(m,x)
J = 
Y = bessely(m,x)
Y = 
diff(J,x)
ans = 
diff(Y,x)
ans = 
  1 commentaire
菲
le 3 Avr 2023
Thank you very much. I'll give it a try

Connectez-vous pour commenter.

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