Wolfram Language

Partielle Differentialgleichungen

Generieren Sie Schwingungen in einer Kreismembran

Modellieren Sie mithilfe der Wellenfunktion Schwingungen einer Kreismembran mit Radius 1 im zweidimensionalen Raum.

In[1]:=
Click for copyable input
eqn = r D[u[r, t], {t, 2}] == D[r D[u[r, t], r], r];

Spezifizieren Sie, dass der Rand der Membran fest fixiert ist.

In[2]:=
Click for copyable input
bc = u[1, t] == 0;

Anfangsbedingung für das Problem.

In[3]:=
Click for copyable input
ic = {u[r, 0] == 0, Derivative[0, 1][u][r, 0] == 1};

Berechnen Sie mittels DSolve die Lösung, ausgedrückt in Bessel-Funktionen.

In[4]:=
Click for copyable input
(dsol = DSolve[{eqn, bc, ic}, u[r, t], {r, t}]) // TraditionalForm
Out[4]//TraditionalForm=

Extrahieren Sie eine endliche Zahl von Termen aus der Inactive-Summe.

In[5]:=
Click for copyable input
h[r_, t_] = u[r, t] /. dsol[[1]] /. {\[Infinity] -> 3} // Activate // N;

Die niedrigste Schwingung hat eine Periode von ungefähr 2,612.

In[6]:=
Click for copyable input
N[(2 \[Pi])/BesselJZero[0, 1]]
Out[6]=

Visualisieren Sie die Schwingungen der Membran über vier Perioden.

In[7]:=
Click for copyable input
ListAnimate[ Table[Plot3D[ Evaluate[h[r, t] /. {r -> Sqrt[x^2 + y^2]}], {x, y} \[Element] Disk[], PlotRange -> {-1, 1}, Ticks -> None, Mesh -> True, MeshStyle -> {Red, Blue}, PlotStyle -> Yellow, Boxed -> False, Axes -> False, ImageSize -> Medium, AspectRatio -> 1, Background -> Lighter[Orange, 0.85]], {t, 0, 10.45, 0.05}]]
Animation abspielen
Abspielung unterbrechen

Verwandte Beispiele

en es fr ja ko pt-br ru zh