Initialisierung
Die Eingaben dieser Sektion müssen ausgelöst werden!
Laden der Bibliothek:
> with(kurvdisk);
Festlegung einer ersten Funktion:
> f:=x->1/(x+1)-2/x;
>
Überblick
Hinweise zum Einsatz des Worksheets
Dieses Worksheet ist sicherlich sinnvoller in der Hand des Lehrers (zur Unterrichtsvorbereitung bzw. Lösung oder Korrektur von Klausuren/Klassenarbeiten) einsetzbar. Für den Einsatz im Unterricht wird sich dieses Worksheet eher nicht eignen.
Die Prozeduren sind so aufbereitet, dass sie den Anforderungen an schulische Kurvendiskussionen angepasst sind. Insbesondere wurde versucht, die komplexen Lösungen, die Maple standardmäßig mitliefert, auszublenden.
Das Arbeitsblatt erhebt demgegenüber jedoch keinesfalls den Anspruch, bei allen Funktionsklassen adäquate Ergebnisse zu liefern. Getestet wurde das Worksheet bei ganzrationalen und gebrochen-rationalen Funktionen nicht allzu komplexer Gestalt. Natürlich können einzelne Prozeduren auch bei anderen Funktionsklassen geeignete Ergebnisse liefert; dies ist jedoch nicht garantiert!
Besonderheiten des Worksheets:
Konstante Funktionen wie auch eingebaute Standardfunktionen (sqrt, sin, cos, ...) werden nicht korrekt bearbeitet, weil hier die interne Speicherung dieser Standardfunktionen abweicht; Tip: Diskutieren Sie stattdessen x->2*sqrt(x) oder x->4*sin(x); durch die Multiplikation speichert Maple die Funktion in der erwarteten Weise!
Die Prozeduren Extremstellen und Wendestellen liefern nur Kandidaten für Extrema und Wendepunkte; eine geeignete hinreichende Bedingung ist auf jeden Fall noch zu überprüfen.
Die Konvergenz der Newton-Iteration wird nicht überprüft; hier müssen geeignete Startwerte selbst gewählt werden.
Inhaltsverzeichnis
Eine Muster-Kurvendiskussion (am Ende des Worksheets)
Näherungslösung einer Gleichung (Newton)
-----------------------
>
Bedienungserklärung
Die Berechnungen auf diesem Arbeitsblatt können unter MapleV durch Drücken der Enter-Taste zeilenweise oder aber komplett über den Menüpunkt Edit - Execute - Worksheet ausgelöst werden.
Über die Bildlaufleisten kann ein beliebiger Ausschnitt ausgewählt werden.
Die einzelnen Sektionen sind unabhängig voneinander. Deshalb kann über das Inhaltsverzeichnis an jede beliebige Sektion gesprungen werden. Die Befehle innerhalb einer Sektion sind jedoch nicht unbedingt unabhängig. Dies gilt vor allem für die Muster-Kurvendiskussion. Hier empfiehlt sich das schrittweise Abarbeiten der einzelnen Befehle.
Dieses Arbeitsblatt ist nur für Kurvendiskussionen von rationalen Funktionen anwendbar (bei anderen Funktionsklassen werden zumindest Definitionsbereich, Asymptoten, Polstellen nicht korrekt bestimmt).
Die Prozedur Definitionsluecken bestimmt die Menge der Definitionslücken der rationalen Funktion f.
> f:=x->1/(x+1)-2/x;
> Definitionsluecken(f):
> print(`D = R \\`,% );
>
zurück zum
Anfang
Die Prozedur Ableitungen bestimmt die ersten drei Ableitungen der rationalen Funktion f.
> # f:=x->1/(x+1)-2/x;
> Ableitungen(f);
>
zurück zum
Anfang
Die Prozedur Nullstellen bestimmt die Nullstellen der rationalen Funktion f.
> # f:=x->1/(x+1)-2/x;
>
Nullstellen(f);
lprint(`Nullstellen:`, Punkte(f,%));
Nullstellen: [-2, 0, m = -1/2]
>
zurück zum
Anfang
Die Prozedur Horizontalstellen bestimmt die Stellen der rationalen Funktion f mit Ableitung 0 (entsprechend also Punkten mit horizontaler Tangente).
> # f:=x->1/(x+1)-2/x;
>
Horizontalstellen(f);
print(`Punkte mit horizontaler Tangente:`);
print(Punkte(f,Horizontalstellen(f)));
>
zurück zum
Anfang
Die Prozedur Extremstellen bestimmt die Extremstellen der rationalen Funktion f (Geprüft wird nur eine hinreichende Bedingung über die zweite Ableitung)
> # f:=x->1/(x+1)-2/x;
>
Extremstellen(f);
print(`Extrempunkte:`);
print( Punkte(f,Extremstellen(f)));
>
zurück zum
Anfang
Die Prozedur Wendestellen bestimmt die Wendestellen der rationalen Funktion f.
> # f:=x->1/(x+1)-2/x;
>
Wendestellen(f);
print(`Punkte mit Kruemmung 0:`);
print(Punkte(f,Wendestellen(f)));
>
zurück zum
Anfang
Die Prozedur Tangente bestimmt die Funktionsvorschrift der Tangente an die rationalen Funktion f an einer Stelle x0.
>
# f:=x->1/(x+1)-2/x;
x0:=2;
> Tangente(f,x0);
>
print(`Tangente an der Stelle x0=2: `);
print(`y`=Tangente(f,x0)(x));
>
zurück zum
Anfang
Die Prozedur Normale bestimmt die Funktionsvorschrift der Normalen zu einer rationalen Funktion f an einer Stelle x0.
>
# f:=x->1/(x+1)-2/x;
x0:=2;
> Normale(f,x0);
>
print(`Normale an der Stelle x0=2: `);
print( `y`=Normale(f,x0)(x));
>
zurück zum
Anfang
Die Prozedur Wertetabelle gibt eine Wertetabelle für die rationale Funktion f im Intervall [a,b] mit der Schrittweite s aus..
>
# f:=x->1/(x+1)-2/x;
a:=-4;b:=5;s:=1;
> Wertetabelle(f,a,b,s);
Wertetabelle für die Funktion f: x -> 1/(x+1)-2/x
----------------------------------------------------------------------
x f(x)
[ -4.000 / .167 ]
[ -3.000 / .167 ]
[ -2.000 / 0.000 ]
Definitionslücke bei -1.000
Definitionslücke bei 0.000
[ 1.000 / -1.500 ]
[ 2.000 / -.667 ]
[ 3.000 / -.417 ]
[ 4.000 / -.300 ]
[ 5.000 / -.233 ]
>
zurück zum
Anfang
Näherungslösung einer Gleichung
Die Prozedur Newton bestimmt näherungsweise die Nullstelle einer Funktion g mit einem Startwert s mittels der Newton-Iteration mit n Iterationen.
>
# f:=x->1/(x+1)-2/x;
g:= unapply( f(x)+1 , x);
Digits:=20;
s:=1; n:=8;
>
Newton( g, s, n );
Digits:=10:
1. Näherung : 1.2857142857142857143
2. Näherung : 1.4016288650030777972
3. Näherung : 1.4140920532308439923
4. Näherung : 1.4142135510374985901
5. Näherung : 1.4142135623730949502
6. Näherung : 1.4142135623730950488
7. Näherung : 1.4142135623730950488
8. Näherung : 1.4142135623730950488
>
zurück zum
Anfang
Die Prozedur
Schaubild
zeichnet das Schaubild der rationalen Funktion f im Intervall [a,b] mit dem Wertebereich [ymin,ymax].
Achtung
: MapleV zeichnet standardmäßig die Polstellen als senkrechte Geraden in das Schaubild. Wenn dies nicht erwünscht ist, muss man die Option 'discont = true' ergänzen.
>
# f:=x->1/(x+1)-2/x;
a:=-3; b:=2; ymin:=-12; ymax:=12;
Optionen:={thickness=2,color=black}:
> Schaubild( f, a, b, ymin, ymax, Optionen );
>
zurück zum
Anfang
Die Prozedur Polstellen bestimmt die Polstellen der rationalen Funktion f..
> # f:=x->1/(x+1)-2/x;
>
Polstellen(f);
lprint(`Polstellen liegen bei folgenden x-Werten vor:`,op(%));
Polstellen liegen bei folgenden x-Werten vor: 0 -1
>
zurück zum
Anfang
Die Prozedur Asymptote bestimmt die horizontale bwz schiefe Asymptote der rationalen Funktion f.
> # f:=x->1/(x+1)-2/x;
>
Asymptote(f);
lprint(`Die schiefe bzw. horizontale Asymptote heisst:`,y=Asymptote(f)(x));
Die schiefe bzw. horizontale Asymptote heisst: y = 0
>
zurück zum
Anfang
Im Folgenden wird eine Beispiel-Kurvendiskussion vorgestellt, die einen Teil der Prozeduren des Pakets kurvdisk verwendet. Die Befehle sind auf rationale Funktionen abgestimmt, eine Übertragbarkeit auf andere Funktionsklassen ist fraglich! Da die Aufgabenstellungen (insbesondere bei Tangenten und Normalen sowie dem Zeichenbereich fuer das Schaubild nicht unabhaengig von der Funktion sein koennen, wurde auf eine Kapselung in eine Prozedur verzichtet und stattdessen die Befehlsaufrufe einzeln aufgeführt.
Definition der Funktion:
>
restart:
with(kurvdisk);
f := x->1/6*(x+3/x+4);
Bestimmung der Definitionsmenge:
> lprint(`D = R \\ `, Definitionsluecken(f));
D = R \ {0}
Ableitungen:
> Ableitungen(f);
Untersuchung auf Polstellen und Asymptoten:
>
if Polstellen(f) <> {} then
print(`vertikale Asymptote bei x=`,op(Polstellen(f)))
else
print(`keine Polstellen`) fi;
>
if Asymptote(f) <> NULL then
print(`schiefe Asymptote:`,y=Asymptote(f)(x))
else
print(`keine schiefe oder horizontale Asymptote`) fi;
Nullstellen:
> Punkte(f,Nullstellen(f));
Extrempunkte:
>
Horiz:=Horizontalstellen(f):
f2 := D(D(f)):
for i from 1 to nops(Horiz) do
if evalf(f2(op(i,Horiz)))<0 then print(Hochpunkt,Punkte(f,{Horiz[i]}))
elif evalf(f2(op(i,Horiz)))>0 then print(Tiefpunkt,Punkte(f,{Horiz[i]}))
else
print(`Sattelpunkt???`,Punkte(f,{Horiz[i]}))
fi
od;
Wendepunkte:
> Wende:=Wendestellen(f):
>
for i from 1 to nops(Wende) do
if is((D@@3)(f)(op(i,Wende))<>0) then print(`Wendepunkt`,Punkte(f,{Wende[i]}))
else
print(`Extrempunkt???`,Punkte(f,{Wende[i]}))
fi
od;
Näherungslösung für die Nullstelle von f mittels Newtonscher Iteration:
> Newton(f,1,7);
1. Näherung : 5.
2. Näherung : -5.909090909
3. Näherung : -3.265147592
4. Näherung : -3.009176545
5. Näherung : -3.000013907
6. Näherung : -3.000000000
7. Näherung : -3.000000000
Wertetabelle:
> Wertetabelle(f,-4,4,1/2);
Wertetabelle für die Funktion f: x -> 1/6*x+1/2/x+2/3
----------------------------------------------------------------------
x f(x)
[ -4.000 / -.125 ]
[ -3.500 / -.060 ]
[ -3.000 / 0.000 ]
[ -2.500 / .050 ]
[ -2.000 / .083 ]
[ -1.500 / .083 ]
[ -1.000 / 0.000 ]
[ -.500 / -.417 ]
Definitionslücke bei 0.000
[ .500 / 1.750 ]
[ 1.000 / 1.333 ]
[ 1.500 / 1.250 ]
[ 2.000 / 1.250 ]
[ 2.500 / 1.283 ]
[ 3.000 / 1.333 ]
[ 3.500 / 1.393 ]
[ 4.000 / 1.458 ]
Tangente an der Stelle x=-2 an das Schaubild von f:
> t:=Tangente(f,1);
N ormale an das Schaubild von f an der Stelle x=1:
> n:=Normale(f,1);
Schaubild von f samt obiger Tangente und Normale: :
> Optionen:={color=[black,red,blue,maroon],thickness=2,scaling=constrained}:
> Schaubild([f,t,n,Asymptote(f)],-3,3,-1,4,Optionen);
>
zurück zum
Anfang
>