Infinite sum with Bessel's function

29 views (last 30 days)
mery
mery on 10 Aug 2022
Edited: Torsten on 14 Aug 2022
I have this sum with the Bessel function that I am trying to calculate and plot.
Any help would be greatly appreaciated.
Thank you
  2 Comments
mery
mery on 10 Aug 2022
Edited: mery on 10 Aug 2022
the error is
Error using ==> findLr
Too many input arguments.
Error in ==> findLp at 5
Lp(i)= findLr(rr1,K,n,sstep);
Error in ==> tset at 4
findLp(K,n,sstep)

Sign in to comment.

Accepted Answer

Torsten
Torsten on 11 Aug 2022
Edited: Torsten on 11 Aug 2022
n = 60;
sstep = 1;
a_k = J0ROOTS(n,sstep);
r = (0:0.01:1).';
t = 0:0.1:1;
S = zeros(numel(r),numel(t));
for i = 1:numel(t)
S(:,i) = sum(2*besselj(0,a_k.*r)./(a_k.^2.*besselj(1,a_k)).*exp(-a_k.*t(i)),2);
end
plot(r,S)
function x=J0ROOTS(n,sstep)
if nargin==0
n=20;
sstep=1;
elseif nargin==1
sstep=1;
end
J0=@(x) besselj(0,x);
k=0; i=0;
while k<n
i1=i+sstep;
if J0(i)*J0(i1)<0
k=k+1;
x(k)=fzero(J0,[i i1]);
end
i=i1;
end
end
  3 Comments
mery
mery on 11 Aug 2022
@Torsten This community is great because there are people like you.
Thank you, sir.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!