Kinematik II

Dieser Teil II der Kinematik der neunten Jahrgangsstufe der gymnasialen Physik dreht nun
die Vorgehensweise um: Nicht per Differenzialoperator diff(Funktion,t,n) aus x(t) die
Funktion der Momentangeschwindigkeit v(t) und daraus auf dieselbe Weise die Beschleunigungs-
funktion a(t), sondern mithilfe des Maxima-Operators integrate(Funktion,var,0,t) wird aus a(t)
eine Geschwindigkeitsfunktion und aus v(t) eine Zeit-Weg-Funktion berechnet.
Am Anfang der Überlegungen steht der einfachste Fall:

                  konstante Geschwindigkeit und die 'Formel' x = v*t.

1 Vorgeplänkel

1.1 nützliche Routinen

Maxima stellt mit 'draw' ein ganzes Paket von Befehlen zur Darstellung von 2d-Abhängigkeiten
bereit: ... Besonders 'with_slider_draw' veranschaulicht sehr schon, wie aus t-v-Zusammenhängen
Ortskurven ermittelt werden können.

(%i53) kill(all)$load(draw)$fpprec:3$fpprintprec:3$ratprint:false$

Eigene Routinen ergänzen diese und erleichtern so die Anwendung ... weitere werden folgen.

(%i5) block(
Weg(k,V,x):=block(
with_slider_draw(
/* first two arguments are the parameter and its range */
tt,makelist(0.1*i,i,0,k*10),
/* the following arguments are for plot2d command */
xaxis=true,yaxis=true,grid=true,
xrange=[-0.5,6],yrange=[0,10],
pic_width = 400,
pic_height = 400,
color=blue,line_width=2,explicit(V(t),t,0,6),
fill_color = red, filled_func = true,line_width=2,
explicit(V(t),t,0,tt),
color = black, filled_func = false,
point_size=3,point_type=filled_circle,points([0],[V(t)*tt]),
explicit(x(t),t,0,tt),
label_alignment = 'left,label(["Flächenmaßzahl:",1,9]),
font_size=20,label_alignment = 'left,label([V(t)*tt,1,8])
)
)
)$

2 Ermittlung von Zeit-Weg-Funktionen ...

2.1 ... für konstante Geschwindigkeitsfunktionen

Die Funktion v(t) mit der konstanten Geschwindigkeit wird in der Zeile mit
"v(t) :=.." definiert. Der Aufruf Weg-Funktion x(t):= v*t erfolgt durch
apply("*",[v(t),t])) und die Darstellung dann mittels Weg(k,v,x).
Dabei legt k die Länge des Zeitintervalls [0;k] fest. Mithilfe des Maxima-
Befehls 'with_slider_draw' lässt sich die Graphik animieren:

(%i6) v(t):=2;
define(x(t),apply("*",[v(t),t]));
Weg(5,v,x);

Result

Offensichtlich stimmen die Bewegung des Körpers, die Flächendarstellung, die Flächen-
berechnung sowie die Darstellung der Zeit-Weg-Funktion überein.

2.2 ...für nicht-konstante Geschwindigkeitsfunktionen

Wie man aus nachfolgendem Diagramm sieht, verlieren schon bei einfachen linearen
Geschwindigkeitsverläufen wie v(t) = t diese Zusammenhänge ihre Gültigkeit:

(%i9) v(t):=t$
wxdraw2d(
xaxis=true,yaxis=true,grid=true,
xrange=[-0.5,6],yrange=[0,10],
pic_width = 400,
pic_height = 300,
color=blue,line_width=2,explicit(v(t),t,0,6),
fill_color = red, filled_func = true,line_width=2,
explicit(v(t),t,0,5),
label_alignment = 'left,label(["Flächenmaßzahl:",1,9]),
font_size=20,label_alignment = 'left,label([12.5,1,8]),
label_alignment = 'left,label(["Produkt v(t=5)*(t=5)",1,7]),
label_alignment = 'left,label([25,1,6])
)$

Result

Schaut man sich das mit dem Maxima-Slider an versteht man schon ein wenig, warum
es nicht mehr passt:

(%i11) with_slider_draw(
/* first two arguments are the parameter and its range */
tt,makelist(0.1*i,i,0,5*10),
/* the following arguments are for plot2d command */
xaxis=true,yaxis=true,grid=true,
xrange=[-0.5,6],yrange=[0,10],
pic_width = 400,
pic_height = 400,
color=blue,line_width=2,explicit(t,t,0,6),
fill_color = red, filled_func = true,line_width=2,
explicit(t,t,0,tt),
color = black, filled_func = false,
point_size=3,point_type=filled_circle,points([0],[tt*tt]),
explicit(t^2,t,0,tt),
label_alignment = 'left,label(["Produktwert v(t)*t:",1,9]),
label_alignment = 'left,label([tt*tt,1,8]),
label_alignment = 'left,label(["Flächenmaßzahl:",1,7]),
label_alignment = 'left,label([tt*tt/2,1,6]),
color = red, filled_func = false,
point_size=3,point_type=filled_circle,points([0],[tt*tt/2]),
explicit(t^2/2,t,0,tt)
)$

Result

3 Die Integration als Lösung des Mess-Problems

Wie schon mithilfe von 'diff' bei der Berechnung von Momentangeschwindigkeiten hält
auch hier Maxima einen Operator bereit, der das Problem der Flächeninhaltsberechnung
löst: integrate(f,var,a,b).
Definieren wir einfach mal:

3.1 Integration von v(t)

(%i12) kill(v,t);
v(t):=t;
define(x(T),integrate(v(t), t,0,T));
x(5);

Result

Lassen wir Beispiele berechnen:

(%i16) tt:makelist(i,i,0,10);map(x,tt);v(5);x(5);
Result

Und schauen auf die Graphik:

(%i20) wxdraw2d(
xaxis=true,yaxis=true,grid=true,
xrange=[-0.5,6],yrange=[0,10],
pic_width = 400,
pic_height = 300,
color=blue,line_width=2,explicit(v(t),t,0,6),
fill_color = red, filled_func = true,line_width=2,
explicit(v(t),t,0,5),
label_alignment = 'left,label(["Flächenmaßzahl:",1,9]),
font_size=20,label_alignment = 'left,label(["(5*5)/2",1,8]),
label_alignment = 'left,label(["integrate(v(t),t,0,5)",1,7]),
label_alignment = 'left,label(["25/2",1,6])
)$

Result

Das sieht ja toll aus: Der Flächeninhalt ist tatsächlich ein halbes Rechteck!
Das muss man gleich mal an Funktionen ausprobieren, wie wir sie etwa im Versuch
mit der Luftkissenfahrbahn erhalten haben:

3.2 Integration einer abschnittsweis definierten Funktion

(%i21) a(t):=if t<3 then 1 else 2;
Result

(%i22) v1(T):=integrate(1,t,0,T);v1(1);
v2(T):=v1(3)+integrate(2,t,3,T);v2(4);

Result

Setzen wir das zu einer Funktion v(T) zusammen:

--> v(T):=if T<=3 then v1(T) else v2(T);
v(1);v(2);v(3);v(4);v(5);

Result

Und lassen wiederum zeichnen:

(%i45) kill(tt);with_slider_draw(
/* first two arguments are the parameter and its range */
tt,makelist(i,i,0,1*10),
/* the following arguments are for plot2d command */
xaxis=true,yaxis=true,grid=true,
xrange=[-0.5,6],yrange=[0,10],
pic_width = 400,
pic_height = 400,
color = green, filled_func = false,line_width=3,
explicit(a(t),t,0,6),
fill_color = light-red, filled_func = true,line_width=2,
explicit(a(t),t,0,tt),
color = red, filled_func = false,line_width=2,
explicit(v(T),T,0,tt)
)$

Result

(%i53) a(2.9);a(3);a(3.1);v(2.9);v(3);v(3.1);
Result

Klasse! Alles passt: Der Graph von a 'springt', der von v nicht.

Da muss man doch dieses wunderbare Werkzeug 'integrate' gleich noch auf v(t) anwenden:

--> x1(T):=integrate(v1(t),t,0,T);x1(2);
x2(T):=x1(3)+integrate(v2(t),t,3,T);x2(4);

Result

Und zu einer Funktion zusammensetzen:

(%i59) x(T):=if T<=3 then x1(T) else x2(T);
Result

Das müsste man von Hand mal nachrechnen:

(%i60) tete:makelist(i,i,0,10);map(x,tete);
Result

Und es sich auch in der graphischen Darstellung anschauen:

(%i63) wxdraw2d(
xaxis=true,yaxis=true,grid=true,
xrange=[-0.5,6],yrange=[0,15],
pic_width = 400,
pic_height = 400,
color = dark-green, filled_func = false,line_width=8,
label(["a(t) - dark-green",1,10]),
explicit(a(t),t,0,6),
fill_color = light-red, filled_func = true,line_width=2,
color=red, label(["v(t) - red",1,11]),
explicit(a(t),t,0,5),
color = red, filled_func = false,line_width=2,
explicit(v(T),T,0,5),
color = black, filled_func = false,line_width=2,
label(["x(t) - black",1,12]),
explicit(x(T),T,0,5),
color = grey, line_type = dots, line_width=1,
explicit(0.5*t^2,t,0,5)
)$

Result

4 Nachbetrachtung

Damit ist die "Einführung" in die Kinematik der neunten gymnasialen Jahrgangsstufe abgeschlossen:
Nach Kinematik I, welche mithilfe des Maxima-Differenzialoperators "diff" aus einer Zeit-Weg-Funktion
die Zeit-Geschwindigkeitsfunktion v(t) und die Zeit-Beschleunigungsfunktion a(t) erschloss, wurde in
Kinematik II der umgekehrte Weg dargelegt: Mithilfe des Maximaoperators "integrate" aus der Beschleu-
nigungsfunktion a(t) auf eine Geschwindigkeitsfunktion v(t) und schließlich eine Zeit-Weg-Funktion
x(t) berechnet.
Der dabei verwendeten 'didaktischen' Tricks sind elementar: 'diff' als Lösung des Problems der Berech-
nung der Momentangeschwindigkeit mit immer kürzeren Zeitintervall und bei 'integrate' eine Erweiterung
der Flächeninhaltsberechnung v*Delta(t) auf 'fast beliebige' Flächenstücke.


Created with wxMaxima.