Worksheet: Bessel.mw
Bessel Functions:
(x)
| > | restart:with(plots): |
| > | ?Bessel <- For help with Bessel Functions |
Meet the Bessel Functions
| > | plot({BesselJ(0,x),BesselY(0,x)},x=0..20,y=-1.5..1.5,title="J_0(x) & Y_0(x)",numpoints=500); |
![]() |
Notice that
(0)=1, but
(x) is unbounded as x-->0.
Maple has a nice feature to find the roots:
| > | BesselJZeros(0,1);The first zero of |
| > | evalf(BesselJZeros(0,1));The numerical value of the first zero of |
Look at the plot of
above to see this is reasonable. I don't like typing BesselJZeros! Maple has a nice alias feature:
| > | alias(Z=BesselJZeros): |
| > | seq(evalf(Z(0,n)),n=1..5); The first five positive zeroes of J_0 |
| > | J:=BesselJ(0,r);Jr:=diff(J,r);Jrr:=diff(J,r$2); |
| > | Jrr+Jr/r+J; Clearly J saitisfies the Bessel's DE. |
Orthogonality
| > | m:=1;n:=2; |
| > | R_m:=BesselJ(0,Z(0,m)*r);R_n:=BesselJ(0,Z(0,n)*r); |
| > | plot({R_m,R_n},r=0..1,title="Two Eigenfunctions"); |
![]() |
Now remember the weight function p(r)=r !!
| > | plot(R_m*R_n*r,r=0..1); I_mn:=Int(R_m*R_n*r,r=0..1)=evalf(int(R_m*R_n*r,r=0..1)); |
![]() |
What happens if you forget the weight function?
| > | plot(R_m*R_n,r=0..1); I_mn:=Int(R_m*R_n,r=0..1)=evalf(int(R_m*R_n,r=0..1)); |
![]() |
| > |