sum of Bessel function

8 views (last 30 days)
Ngo Nhan
Ngo Nhan on 28 Nov 2022
Commented: Ngo Nhan on 1 Dec 2022
Hello, I am trying to plot double sum of fuction that have a Bessel fuction from -pi to pi, like
which is Bessel function.
My code is
syms x m
assume(in(m,'integer') & m>=0);
assume(x>-pi & x<pi);
J=besselj(0,pi/2*m);
A = 2/((2*m+1)*pi)*J*sin((2*m+1)*1000*x-(2*m+1)*pi/2);
g = symsum(A,m,0,Inf);
fmesh(g,5*[-pi pi],'MeshDensity',1e2);
but this show error
Warning: Error updating FunctionSurface.
The following error was reported evaluating the function in FunctionLine update: Unable to convert expression
containing remaining symbolic function calls into double array. Argument must be expression that evaluates to
number.

Answers (2)

Torsten
Torsten on 28 Nov 2022
syms x
syms m integer
A = 2/((2*m+1)*pi)*besselj(0,pi/2*m)*sin((2*m+1)*1000*x-(2*m+1)*pi/2)
g = symsum(A,m,0,Inf)
fplot(g,[-5*pi 5*pi])
  1 Comment
Ngo Nhan
Ngo Nhan on 30 Nov 2022
Edited: Ngo Nhan on 30 Nov 2022
thanks so much, but Matlab could not plot with your code
Here is error
Warning: Error updating FunctionLine.
The following error was reported evaluating the function in FunctionLine update: Unable to convert expression
containing remaining symbolic function calls into double array. Argument must be expression that evaluates to
number.

Sign in to comment.


Torsten
Torsten on 30 Nov 2022
m = 0:250;
x = linspace(-5*pi,5*pi,1000).';
A = 2./((2*m+1)*pi).*besselj(0,pi/2*m).*sin(1000*(2*m+1).*x-(2*m+1)*pi/2);
f = sum(A,2);
plot(x,f)

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!