Und wieder liegt der Schwerpunkt der Aufgabenstellung bei der offenen Fragestellung, die unsere Schüler von morgen dazu anregen soll, über mehrere Lösungswege nachzudenken. Hier wird ein Lösungsweg skizziert.

Aufgabe

Die Mannschaft des Raumschiffs Waterloo-Enterprise soll der Raumstation MIR einen neuen Computer mit dem neuesten Computeralgebrasystem Maple X Release 2020 bringen. Das Andocken soll vorher von der Mannschaft der Waterloo-Enterprise am Computer durchgespielt werden. Man geht dabei von folgendem Szenario aus: Die MIR ist manövrierunfähig. Die Waterloo-Enterprise fliegt zunächst mit gleicher Geschwindigkeit wie die MIR und soll dann in einer bestimmten Zeit die MIR einholen und dort festmachen. Bei der ersten Simulation des Manövers geht man davon aus, daß die Triebwerke in der Beschleunigungs- und Verzögerungsphase mit konstantem Schub arbeiten.

Heuristik

Der Chefprogrammierer CP der Waterloo-Enterprise-Crew verschafft sich einen Überblick, indem er das Manöver in drei Phasen unterteilt:

1. Beschleunigungsphase mit der konstanten Beschleunigung [Maple Math] .

2. Gleichförmige Bewegung in Richtung MIR.

3. Verzögerungsphase mit der konstanten Verzögerung [Maple Math] .

> restart:

> a:=t->piecewise(t>0 and t<t1,a1,t>=t1 and t<t2,0,t>t2,a3);

[Maple Math]

> a(t);

[Maple Math]

Die Beschleunigung ist nun stückweise für die einzelnen Abschnitte definiert, etwa für die Zeiten

> (t1,t2):=(2,4);

[Maple Math]

Um die Ortsfunktion der Waterloo-Enterprise zu erhalten, versetzt sich der Chefprogrammierer in ein Koordinatensystem, das sich mit der MIR bewegt, und berechnet die Relativgeschwindigkeit zur MIR:

> v:=unapply(int(a(t),t),t);

[Maple Math]

> v(t);

[Maple Math]

Zur Sicherheit ein Test mit Zahlen:

> v(7);

[Maple Math]

> a1:=2;a3:=-3;

[Maple Math]

[Maple Math]

> v(t);

[Maple Math]

Und das Beschleunigungs- und Geschwindigleitsdiagramm:

> plot({a(t),v(t)},t=0..8,thickness=2);

[Maple Plot]

Es fehlt noch die Ortsfunktion. Um flexibel zu bleiben, werden die Beschleunigungen wieder freigegeben:

> a1:='a1':a3:='a3':

> s:=unapply(int(v(t),t),t);

[Maple Math]

> s(t);

[Maple Math]

Nun können die Funktionen zu verschiedenen Werten der Parameter untersucht werden:

> a1:=2:a3:=-3:

> plot({a(t),v(t),s(t)},t=0..8,thickness=2);

[Maple Plot]

Wenn die MIR zum vorgeschriebenen Zeitpunkt erreicht werden soll, so muß das Maximum der Ortskurve die richtigen Koordinaten (im s-t-Diagramm) haben, denn die Waterloo-Enterprise sollte ja mit der Geschwindigkeit 0 andocken. Der Chefprogrammierer weiß, daß er die Beschleunigungen innerhalb vorgegebener Grenzen variieren kann. Außerdem kann die Brenndauer der Triebwerke verändert werden. Wie sich letzteres auf den Treibstoffverbrauch auswirkt, will er in einem zweiten Durchgang untersuchen. Zunächst muß geklärt werden, wie es durch Änderung der Parameter überhaupt möglich ist, die MIR ohne Kollision zu erreichen.

Systematische Untersuchung

Man beginnt wieder mit dem Aufstellen der erforderlichen Funktionen

> restart:

> a:=t->piecewise(t>0 and t<t1,a1,t>=t1 and t<t1+dt2,0,t>t1+dt2,a3):

> a(t);

[Maple Math]

> v:=unapply(int(a(tau),tau=0..t),t):

> v(t);

[Maple Math]

>

> s:=unapply(int(v(tt),tt=0..t),t):

> s(t);

[Maple Math]

Ein Testplot, ob mit den neu aufgestellten Funktionen auch die Zeiten variabel eingegeben werden können:

> t1:=2:dt2:=3:a1:=2:a3:=-3:

> plot({a(t),v(t),s(t)},t=-1..8,thickness=2);

[Maple Plot]

Wie kann nun das Problem systematisch gelöst werden? Zunächst müssen die im Moment noch willkürlich gesetzten Parameter wieder freigegeben werden:

> (t1,dt2,a1,a3):=('t1','dt2','a1','a3'):

Und dann benötigt man ein Gleichungssystem, das die Bewegung der Waterloo-Enterprise beschreibt, und das alle Parameter und Randbedingungen enthält.

Für die in den drei Phasen zurückgelegten Strecken liest der Chefprogrammierer aus obigen Gleichungen folgendes ab:

> Strecken:=s1=a1*t1^2/2,s2=v2*dt2,s3=v2*dt3+a3*dt3^2/2;

[Maple Math]

Und für die Geschwindigkeiten hat er sich diese Gleichungen ausgedacht:

> Geschwindigkeiten:=v2=a1*t1,v2+a3*dt3=0;

[Maple Math]

Fehlen noch die Randbedingungen, daß nämlich die gesamte Strecke S ist und die gesamte Dauer des Manövers T:

> Randbedingungen:=S=s1+s2+s3,T=t1+dt2+dt3;

[Maple Math]

Das liefert ein System von sieben Gleichungen:

> sys:={Strecken,Geschwindigkeiten,Randbedingungen};

[Maple Math]
[Maple Math]

Dieses System läßt sich zum Beispiel so lösen, daß die Beschleunigungen und die Dauer der ersten Beschleunigungsphase durch die Randbedingungen und die beiden anderen Zeitabschnitte bestimmt sind:

> sol:=solve(sys,{a1,a3,v2,s1,s2,s3,t1});

[Maple Math]
[Maple Math]

> assign(sol);

> 'a1'=a1;'a3'=a3;'t1'=t1;

[Maple Math]

[Maple Math]

[Maple Math]

Der Chefprogrammierer möchte nämlich zum Zwecke einer möglichst risikoarmen Ankopplung die Dauer der Verzögerungsphase als freien Parameter behalten.

Er überprüft zunächst seine Befehle an einem Beispiel:

> S:=10:T:=8:dt2:=2:dt3:=4:

> plot({a(t),v(t),s(t)},t=-1..T+0.2,thickness=2);

[Maple Plot]

Wie verlangt, legt die Waterloo-Enterprise nach 8 Zeiteinheiten an der 10 Längeneinheiten entfernten MIR mit der Geschwindigkeit 0 an.

Ist dies das einzig mögliche Manöver?

> dt3:='dt3':

> spl:=plot({seq(s(t),dt3=1..5)},t=-1..T+0.2,thickness=2):spl;

[Maple Plot]

Vielleicht läßt sich das etwas plastischer darstellen?

> plot3d(s(t),t=-1..T+1,dt3=1..5,grid=[20,5],orientation=[-120,50],shading=ZHUE,axes=framed);

[Maple Plot]

Nachdem der Chefprogrammierer diese Darstellung von allen Seiten betrachtet hat, entschließt er sich, die kritische Phase der Verzögerung nicht zu kurz zu wählen, und empfiehlt dem Piloten dt3 = 4. Es bleibt nun noch die Option dt2, also die Dauer der Reise mit konstanter Geschwindigkeit:

> dt2:='dt2':dt3:=4:

> plot3d(s(t),t=-1..T+1,dt2=1..3.9,grid=[20,5],orientation=[-120,50],shading=ZHUE,axes=framed);

[Maple Plot]

Auf den ersten Blick scheint es nicht so sehr darauf anzukommen, wie man dt2 wählt. Doch dann entdeckt der CP einen Knick in den s(t)-Kurven für große Werte von dt2. Das deutet auf hohe Beschleunigungen hin! Und weil CP auch an die Mannschaft denkt, untersucht er das näher:

> dt3:='dt3':

> a1;

[Maple Math]

Der Term läßt Böses ahnen, denn im Nenner steht eine Differenz.

> plot3d(a1,dt2=0..3,dt3=1..4,axes=framed,style=patchcontour,orientation=[-120,60],shading=ZHUE);

[Maple Plot]

Aber mit dt2 = 2 ist man wohl noch weit genug vom Pol entfernt und der Bordmediziner sagt, daß eine Beschleunigung von einer halben Beschleunigungseinheit ohne weiteres zumutbar ist.

Bevor sich CP dem Treibstoffverbrauch widmet, untersucht er noch die Geschwindigkeitskurven für dt2 = 2 zu verschiedenen Werten von dt3:

> dt2:=2:dt3:='dt3':

> vpl:=plot({seq(v(t),dt3=1..5)},t=-1..T+0.2,thickness=2):vpl;

[Maple Plot]

Nun ja - das sind gescherte Trapeze. Aber hat das etwas zu bedeuten? Und was passiert, wenn man dt2 variiert?

> dt3:=4:dt2:='dt2':

> vpl:=plot({seq(v(t),dt2=1..)},t=-1..T+0.2,thickness=2):vpl;

[Maple Plot]

Dann ändert sich die Höhe der Trapeze, aber man kann wieder vermuten, daß ihr Flächeninhalt gleich bleibt. Klar - sagt sich CP, das muß so sein (denn er hat in Physik aufgepaßt). Und er denkt bei sich: 'Eigentlich hätte ich auch mit einem Stück Papier und Bleistift anfangen können, wenn ich gleich die Idee gehabt hätte, mich auf die Geschwindigkeitsfunktion zu konzentrieren. Wie sagte doch mein alter Physiklehrer?' "Wenn man die ersten Integrale hat, kennt man die Bewegung!"

Aber CP hat jetzt keine Zeit, von den gemütlichen Zeiten zu träumen, in denen man noch ohne Computer auskam. Der Commander wartet und er sollte sich noch um den Treibstoffverbrauch kümmern.

Also setzt er an: Der Treibstoffverbrauch sollte dem Produkt aus Beschleunigung und Brenndauer proportional sein.

> dt2:='dt2':dt3:='dt3':S:='S':T:='T':

> W:=a1*t1+a3*dt3;

[Maple Math]

Läßt sich das vereinfachen?

> simplify(W);

[Maple Math]

Ziemlich stark! So stark, daß CP einen Fehler vermutet. Natürlich! Der Verbrauch ist immer positiv, auch wenn die Beschleunigung negativ ist:

> W:=simplify(a1*t1-a3*dt3);

[Maple Math]

Zuerst ist CP von der Antwort seines PC überrascht: Der Verbrauch hängt nicht von der Dauer der einzelnen Beschleunigungsphasen ab, sondern von der Pause. Außerdem ist er in beiden Beschleunigungsphasen gleich groß. Doch dann schaut sich CP noch einmal die Geschwindigkeitsdiagramme an und sagt sich: 'Klar - das muß so sein'. Der theoretisch minimale Verbrauch wird dann erreicht, wenn die Beschleunigungsphasen unendlich kurz sind:

> limit(a1*t1,dt2=T);

[Maple Math]

> limit(-a3*dt3,dt2=T);

[Maple Math]

Oder wenn sich Waterloo-Enterprise mit der konstanten Geschwindigkeit S/T zur MIR bewegt. Leider bekommen wir dann sehr hohe Beschleunigungen

> limit(a3,dt3=0,right);

[Maple Math]

und die können wir der Mannschaft nicht zumuten.

Animation

Natürlich möchte CP nicht ohne eine Animation der Simulation vor seinen Commander treten:

> dt3:=4:dt2:=2:S:=10:T:=8:

> with(geometry):with(plots):

> circle(k1,[point(WE,s(t),0),1/2]):

> circle(k2,[point(MIR,S+3/2,0),1]):

> plots[display]([seq(draw({k1(color=blue,filled=true),k2(color=red,filled=true)},axes=normal),t=seq(T/40*i,i=0..40))],scaling=constrained,insequence=true);

[Maple Plot]

Für die nächste Simulation muß sich CP erst noch genauere Informationen über Triebwerke beschaffen, die eine variable Beschleunigung erlauben - natürlich aus dem Internet.

komma@oe.uni-tuebingen.de