Bessel functions

Sum[x^k/k!,{k,0,Infinity}]

Sum[(-1)^k/(2k)!x^(2k),{k,0,Infinity}]

Sum[(-1)^k/4^k/(k!)^2 x^(2k),{k,0,Infinity}]

Plot[BesselJ[0,z],{z,0,30}]

Plot[BesselY[0,z],{z,0,30}]

FindRoot[BesselJ[0,z]==0,{z,2}]

α[1]=z/.%

Plot[BesselJ[0,α[1]r],{r,0,1}]

FindRoot[BesselJ[0,z],{z,5}]

α[2]=z/.%

Plot[BesselJ[0,α[2]r],{r,0,1}]

BesselJZero[0,1]

N[%]

α[n_]=BesselJZero[0,n]

Plot[BesselJ[0,α[5] r],{r,0,1}]

Integrate[BesselJ[0,α[5]r]*BesselJ[0,α[5]r]*r,{r,0,1}]

α[2]/α[1]

Plot[BesselJ[4,z],{z,0,100}]

Circular drum vibrations

For notational simplicity, define

α[n_]=BesselJZero[0,n]

Plot the initial displacement for the first normal mode:

RevolutionPlot3D[BesselJ[0,α[1] r],{r,0,1},{θ,0,2Pi}]

The plot above takes a long time to build because there are repeated evaluations of the BesselJZero function.  To prevent this, we can get a decimal approximation for the relevant zero:

α1=N[α[1]]

With this, Mathematica is much faster is producing the plot:

RevolutionPlot3D[BesselJ[0,α1* r],{r,0,1},{θ,0,2Pi}]

In order to have the animation loop smoothly, we compute the time for one full period:

t1=2Pi/α1

We can now animate this normal mode:

Animate[
RevolutionPlot3D[BesselJ[0,α1* r]Cos[α1* t],{r,0,1},{θ,0,2Pi},PlotRange->{-1,1},Mesh->True],{t,0,t1},AnimationRunning->False]

We'll now look at the second normal mode.  First, compute a numerical approximation of the relevant zero:

α2=N[α[2]]

In order to have the animation loop smoothly, we compute the time for one full period:

t2=2Pi/α2

Now produce an animation.  Note how t2 is used here.

Animate[
RevolutionPlot3D[BesselJ[0,α2* r]Cos[α2* t],{r,0,1},{θ,0,2Pi},PlotRange->{-1,1},Mesh->True],{t,0,t2},AnimationRunning->False]

Here's the code used for the animated GIF on the course web page:

myframes=Table[
RevolutionPlot3D[BesselJ[0,α2* r]Cos[α2* t],{r,0,1},{θ,0,2Pi},PlotRange->{-1,1},Mesh->True],{t,0,2Pi/α2,2Pi/α2/20}];

Export["NormalMode2.gif",myframes]

Now, on to the third normal mode:

α3=N[α[3]]

t3=2Pi/α3

Animate[
RevolutionPlot3D[BesselJ[0,α3* r]Cos[α3* t],{r,0,1},{θ,0,2Pi},PlotRange->{-1,1},Mesh->True],{t,0,t3},AnimationRunning->False]

Play a sound with the relative frequencies of the first two modes (using a factor of 200 to put this in the audible range):

Play[Cos[200*α[1]*t]+Cos[200*α[2]*t],{t,0,2}]

Animate a linear combination of the first two modes:

Animate[
RevolutionPlot3D[BesselJ[0,α1* r]Cos[α1* t]+BesselJ[0,α2* r]Cos[α2* t],{r,0,1},{θ,0,2Pi},PlotRange->{{-1,1},{-1,1},{-2,2}},Mesh->True],{t,0,10},AnimationRunning->False,AnimationRate->0.3]