ans = 
Can we find derivative of bessel functions in matlab directly?
Mostra commenti meno recenti
For example if i have
x can be any value. I need to know how we can find the derivative directly in MATLAb. for m=0,1.
Risposta accettata
Più risposte (1)
David Goodmanson
il 3 Lug 2025
Modificato: David Goodmanson
il 3 Lug 2025
Hi Javeria,
Here is a function that produces J'm(x) for integer m.
function y = besseljd(n,x,opt)
% derivative of bessel function of integer order.
% input s is optional.
% if s = 1, result is scaled by exp(-abs(imag(z))), same as with besselj.
% default is 0, no scaling.
% note that there is another available expression besides the one used below:
% y = besselj(n-1,x,s) - n*besselj(n,x,s)./x;
%
% y = besseljd(n,x,s);
if nargin == 3
s = opt;
else
s = 0;
end
y = -besselj(n+1,x,s) + n*besselj(n,x,s)./x;
% get rid of nans, integer order
if n==1
y(x==0) = 1/2;
else
y(x==0) = 0;
end
2 Commenti
Javeria
il 3 Lug 2025
David Goodmanson
il 3 Lug 2025
I'm not sure exactly what you mean but if scaling is not needed then the single line
y = -besselj(n+1,x) + n*besselj(n,x)./x;
works unless x = 0. If x = 0 then you still need the four last lines in the code above.
Categorie
Scopri di più su Bessel functions in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!