Einführung in Mathematica XX

Schwingende Saite

© Jürgen Schnack, 2010/07/01

Problem

Lösung der Schwingungsgleichung mit gegebener Anfangsbedingung für eine schwingende Saite.

Ausgangszustand zur Zeit t=0

L=1;  (* Intervallänge *)
a=2;  (* Anstieg *)
c=1; (* Geschwindigkeit *)
NMax=100;

fa[x_]=If[x<L/2,a*x,a*(L-x)];
Plot[fa[x],{x,0,L},
PlotStyle->{{Black,Thick},{Green,Thick},{Blue,Thick}},BaseStyle->{FontFamily->"Helvetica",FontSize->18}]

Entwicklung des Ausgangszustands nach Eigenfunktionen (Sin)

Das ist letztlich eine Fourierreihe.
Für die einfache Anfangsbedingung geht das analytisch.

f[x_]=Table[((4 a L)/((n^2) (π^2))) Sin[((n π)/2)] *
			Sin[((n π x)/L)],{n,1,NMax}];
Plot[{f[x][[1]],f[x][[2]],f[x][[3]],f[x][[4]]},{x,0,L},
PlotStyle->{{Red,Thick},{Green,Thick},{Blue,Thick}},BaseStyle->{FontFamily->"Helvetica",FontSize->18}]

Die geraden Funktionen sind hier Null.

(Subscript[f, 1]) + (Subscript[f, 3])

Plot[{fa[x],f[x][[1]]+f[x][[3]]},{x,0,L},
PlotStyle->{{Black,Thick},{Red,Thick},{Green,Thick},{Blue,Thick}},BaseStyle->{FontFamily->"Helvetica",FontSize->18}]

(Subscript[f, 1]) + (Subscript[f, 3])+ (Subscript[f, 5])

Plot[{fa[x],f[x][[1]]+f[x][[3]]+f[x][[5]]},{x,0,L},
PlotStyle->{{Black,Thick},{Red,Thick},{Green,Thick},{Blue,Thick}},BaseStyle->{FontFamily->"Helvetica",FontSize->18}]

(Subscript[f, 1]) + (Subscript[f, 3])+...+ (Subscript[f, NMax])

Plot[{fa[x],(∑_(n=1)^NMax)f[x][[n]]},{x,0,L},
PlotStyle->{{Black,Thick},{Red,Thick},{Green,Thick},{Blue,Thick}},BaseStyle->{FontFamily->"Helvetica",FontSize->18}]

Von der Ausgangsfunktion praktisch ununterscheidbar.

Zeitentwicklung: 10 Basiszustände

For[i=0,i<16,i++,
     t=(i/(8 L));	
        Print[Plot[{(∑_(n=1)^10)f[x][[n]] Cos[((n π t)/L)]} ,{x,0.0,L},
PlotStyle->{Red,Thick},BaseStyle->{FontFamily->"Helvetica",FontSize->18},
		PlotRange->{{0,L},{-1.1,1.1}},AspectRatio->1]]
]

Zeitentwicklung: NMax Basiszustände

For[i=0,i<16,i++,
     t=(i/(8 L));	
        Print[Plot[{(∑_(n=1)^NMax)f[x][[n]] Cos[((n π t)/L)]} ,{x,0.0,L},
PlotStyle->{Red,Thick},BaseStyle->{FontFamily->"Helvetica",FontSize->18},
		PlotRange->{{0,L},{-1.1,1.1}},AspectRatio->1]]
]

Schluß

Hier ist Schluß.