Vorbemerkung: Die folgenden Ausführungen beziehen sich auf die letzte Version von Derive, Derive 6.10. Leider wird dieses Programm nicht mehr vertrieben. Da es aber an den Schulen weiterhin verwendet wird, sollen die Technologieaufgaben auch mit Hilfe dieses Programms behandelt werden.
Aufgabe 124:
Schreibe für dein Computeralgebra-System eine Funktion, die den Logarithmus zu jeder beliebigen Basis berechnet.
Ausführung:
LN(x)
#1: MYLOG(x, a) ≔ ⎯⎯⎯⎯⎯⎯⎯⎯
LN(a)
#2: MYLOG(8, 2) = 3
⎛ 1 ⎞
#3: MYLOG⎜27, ⎯⎯⎯⎯⎟ = -3
⎝ 3 ⎠
Aufgabe 160:
Findet heraus, wie sich Gleichungssysteme in der Art der Aufgaben 154 und 156 mit einem Taschenrechner oder Computeralgebra-System lösen lassen.
Ausführung:
Menügeführt:
Menüpunkt SOLVE→SYSTEM wählen, dann kann man - nach Angabe der Anzahl der Gleichungen - diese eingeben (oder einfach die Zeilennummern eingeben, wo diese zu finden sind).
Befehlsorientiert:
Befehl SOLVE([Gleichung1, Gleichung2, Gleichung3],[x,y,z])
Befehl SOLUTIONS([Gleichung1, Gleichung2, Gleichung3],[x,y,z])
SOLVE und SOLUTIONS unterscheiden sich in der Darstellung der Lösungen. SOLVE gibt sie in logischer Schreibweise aus, SOLUTIONS gibt eine Liste der Lösungen aus.
Aufgabe 233:
Das folgende (vereinfachte) Iterationsdiagramm zeigt den Ablauf des Bisektionsverfahrens zur
näherungsweisen Lösung der Gleichung f(x) = 0.
Versuche in einem Computeralgebrasystem den durch das Iterationsdiagramm angegebenen Algorithmus zu implementieren.
Ausführung:
Versuchen wir das auf TM6/Seite 46 angegebene Iterationsdiagramm in Derive umzusetzen. Dazu muss man mit dem Schreiben von kleinen Programmen etwas vertraut sein. (Handbuch oder Hilfe-Funktion helfen hier ein wenig weiter, siehe auch Hinweis unten.)
Bisection(a, b, schritte) ≔
Prog
z ≔ 0
Loop
c ≔ (a + b)/2
If z < schritte
If f(a)·f(c) < 0
b ≔ c
a ≔ c
exit
z ≔ z + 1
RETURN [a, b]
Hinweise zur Eingabe in Derive:
(1) Derive lässt sich mit Options→Display→Multi-line Expression Entry umstellen, was bei der Eingabe von Programmen von Vorteil sein kann.
(2) Beachte, dass das Program in der Form
Bisection(a, b, schritte) ≔ PROG(z ≔ 0, LOOP(c ≔ (a + b)/2, IF(z < schritte, IF(f(a)·f(c) < 0, b ≔ c, a ≔ c), exit), z ≔ z + 1), RETURN [a, b])
einzugeben ist. Derive arbeitet rein funktional, d.h. dass auch der Programmkörper Prog()
und Schleifen Loop()
Funktionen sind und daher mit Klammern auftreten.
Beispielsweise lässt sich bei 20 Iterationsschritten und dem Startinterverall [1,2] die Nullstelle der Funktion auf das folgende Intervall einschränken:
3
f(x) ≔ x - x - 2
Bisection(1, 2, 20) = [1.521379470, 1.521380424]