sum of Bessel function

조회 수: 13 (최근 30일)
Ngo Nhan
Ngo Nhan 2022년 11월 28일
댓글: Ngo Nhan 2022년 12월 1일
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.

답변 (2개)

Torsten
Torsten 2022년 11월 28일
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
Ngo Nhan
Ngo Nhan 2022년 11월 30일
편집: Ngo Nhan 2022년 11월 30일
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.

댓글을 달려면 로그인하십시오.


Torsten
Torsten 2022년 11월 30일
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)
  댓글 수: 1
Ngo Nhan
Ngo Nhan 2022년 12월 1일
thansks so much

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Bessel functions에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by