Datei: Maple

Werbung
Datei:
Maple-Praktikum2.mws
Datum: 28.2.2005
Erstellt von Prof. Dr. K. Warendorf unter Verwendung einer Vorlage von Dr. habil. D. Gröger
Fachhochschule München, Fachbereich 03: Maschinenbau/Fahrzeugtechnik/Flugzeugtechnik
---------------------------------------------------------------------------------------------------------------Maple - Praktikum
Teil 2: Analysis von Funktionen einer Variablen
In diesem Worksheet lernen Sie das Arbeiten mit MAPLE auf dem Gebiet der
Infinitesimalrechnung
einer reellen Variablen kennen.
Von einer Funktion einer reellen Variablen werden Graph, Nullstellen, Ableitungen,
Extremwerte,
Integrale und Taylor-Entwicklung berechnet.
> restart;
# Löschen aller Bindungen von Variablen
Definition einer Funktion
-------------------------------------------------------------------------------------------------------------------Funktionen einer reellen Variablen
-------------------------------------------------------------------------------------------------------------------Die Standardfunktionen
abs : Absolutbetrag
signum : Signum (Vorzeichen)
sqrt : Quadratwurzel
sin , cos , tan , cot : Kreisfunktionen
arcsin , arccos , arctan , arccot : Umkehrfuntionen der Kreisfunktionen
exp : Exponentialfunktion
ln : (natürlicher) Logarithmus
sinh , cosh , tanh , coth : Hyperbelfunktionen
arcsinh , arccosh , arctanh , arccoth : Umkehrfunktionen der Hyperbelfunktionen
sind in Maple schon fest eingebaut und dürfen in jeder Formel verwendet werden.
Beachten Sie : Bei der Anwendung von Funktionen ist das Argument stets in runde Klammern
einzuschließen!
Wie das nächste Beispiel zeigt, sieht MAPLE zur Definition neuer Funktionen eine an die
Mathematik angelehnte Syntax vor:
name := var -> funktionsvorschrift;
> f := x -> x^2+3*x+5;
# Funktion definieren
Auch die Auswertung einer Funktion folgt der üblichen mathematischen Notation. Durch die
Eingabe von f( ausdruck ) wird x im Funktionsterm durch ausdruck ersetzt, anschließend
wird
der Funktionsterm ausgewertet und das Ergebnis zurückgegeben.
> f(sin(x));
Achtung : Verwechseln Sie nicht den Funktionsterm mit der Funktion selbst!
Eine andere Möglichkeit zur Definition von Funktionen beruht auf der Anweisung unapply . Mit
diesem Befehl wird ein Funktionsterm in die zugehörige Funktion umgewandelt:
> y := x^2+3*x+5;
> f := unapply(y,x);
> f(sin(x));
# Funktionsterm definieren
# Definition der zugehörigen Funktion
# Anwendung von f
y:=X^2+3x+5;
Im Folgenden werden für späteres Experimentieren einige Funktionsterme zur Auswahl gestellt.
> f:=unapply(x^2,x);
> plot (f,-1..3,0..5,scaling = constrained);
> f:=unapply(x^5+3*x^3+5*x-1,x);
> plot (f,-3..10,7..-9,scaling=constrained);
> f:= unapply(2/(1-x^3),x);
> plot(f,-3..4,-5..13);
> f:= unapply(ln(x+sqrt(x^2+1)),x);
> plot(f,-3..3,-3..3);
> f:=unapply(x*ln(x),X);
> plot(f,-5..5,-5..5);
Warning, unable to evaluate the function to numeric values in the
region; see the plotting command's help page to ensure the
calling sequence is correct
>
>
>
>
>
exp(x);
x^2*exp(-x);
x*(1-cos(x));
2*cos(x)+3*sin(x);
y1 :=unapply(sinh(x),x);
> y2 :=unapply(cosh(x),x);
> y3 :=unapply(arctan(x),x);
> plot({y1,y2,y3},-2..4,-7..7,scaling=constrained, color =
[red,green,blue]);
Graph einer Funktion
-------------------------------------------------------------------------------------------------------------------Graph einer Funktion
-------------------------------------------------------------------------------------------------------------------Den Graphen einer Funktion kann man sehr bequem mit der MAPLE-Anweisung plot
erzeugen.
Besonders interessierende Bereiche für die unabhängige und die abhängige Variable können
zwecks genauerer Darstellung als zusätzliche Parameter eingegeben werden.
> f := unapply(x^5+3*x^3+5*x-1,x);
>
# Funktion definieren
> plot(f,-2..2);
# Einengung des Bereiches für x
> plot(f,-2..2,-10..10,scaling = constrained);
Bereiche für x und y
# Einengung der
Wenn man mit dem Kursor im Plot ist und mit der linken Maustaste klickt, sieht man den
Plotrand.
Klickt man mit der rechten Maustaste, so erscheint ein Menü, mit dem man den Plot verändern
oder in die Zwischenablage kopieren kann.
Es besteht auch die Möglichkeit, Graphen mehrerer Funktionen in einem einzigen Diagramm
darzustellen.
> g :=unapply(2/(1-x^3),x);
> f :=unapply((7*x^4-17*x)^3,x);
> plot({f,g},0..2,-5..5,color = [red,green]);
von f und
# Graphen
> plot({f,g},0..2,-5..5);
# Einengung der Bereiche für x und y
Warning, unable to evaluate 1 of the 2 functions to numeric
values in the region; see the plotting command's help page to
ensure the calling sequence is correct
Informieren Sie sich über den Befehl plot . Es gibt viele Parameter, die das Leben einfacher
machen.
Als Übung schauen Sie sich die Graphen von
Skalierung
auf der x- und y-Achse an!
und
im Intervall [-1;1] mit gleicher
Nullstellenberechnung
--------------------------------------------------------------------------------------------------------------------Nullstellenberechnung
---------------------------------------------------------------------------------------------------------------------
Nullstellen von Funktionen können mit den MAPLE-Befehlen solve oder fsolve ermittelt
werden.
Bei der Anweisung solve wird versucht, die Nullstellen exakt zu ermitteln.
> f := unapply(x^5+3*x^3+5*x-1,x);
# Funktion definieren
> solve(f(x)=3,x);
# Exakte Lösung
> y:=x->x^2-3;
> solve(y(x)=0,x);
> %[1];#erstes element der liste
> evalf(%);
> plot (f,-3..3,-5..7);
In dem letzten Beispiel ist eine Darstellung der Lösung in Form von Wurzelausdrücken nicht
möglich, daher zeigt MAPLE nur eine Beschreibung dieser Lösung an.
Die numerischen Werte erhält man dann mit dem Befehl evalf :
> evalf(%);
# Numerische Lösung
Wie man sieht, gibt es eine reelle Lösung und zwei Paare konjugiert komplexer Lösungen.
Bei der Anweisung fsolve werden die Nullstellen sofort als Dezimalbrüche ausgegeben. Dabei
versucht MAPLE im allgemeinen, eine einzige reelle Nullstelle zu finden, für
Polynomfunktionen
werden jedoch alle Nullstellen berechnet. Man kann den Bereich, in dem eine Nullstelle gesucht
werden soll, durch eine zusätzliche Eingabe eingrenzen.
> fsolve(f(x)=0,x);
# Reelle Nullstelle von f
> g := unapply(x*(1-cos(x)),x);
# Neue Funktion definieren
> x1 := fsolve(g(x)=0,x);
> x2 := fsolve(g(x)=0,x,6..7);
> fsolve(g(x)=0,x,1..6);
# Nullstelle 0
# Nullstelle 2*Pi
# Keine Nullstelle vorhanden
> g(x1); g(x2);
# Probe
Differentiation, Berechnung von Extremwerten
---------------------------------------------------------------------------------------------------------------------Differentiation, Berechnung von Extrem- und Wendestellen
---------------------------------------------------------------------------------------------------------------------Für das Differenzieren gibt es zwei MAPLE-Befehle: diff für Funktionsterme und den D Operator
für Funktionen. Die dabei auftretenden Funktionsterme können evtl. mit dem Befehl simplify
vereinfacht werden.
> diff(x^5+3*x^3+5*x-1,x);
# Term der Ableitung
> y:=2/(1-x^3);
> diff(y,x);
# Funktionsterm definieren
# Term der Ableitung
> diff(ln(x+sqrt(x^2+1)),x);
> simplify(%);
Ableitungsterms
# Vereinfache den letzten
> f := unapply(x^5+3*x^3+5*x-1,x); # Funktion definieren
> D(f);
# Ableitung (als Funktion)
> D(x->2/(1-x^3));
# Direkte Eingabe der Funktion
Höhere Ableitungen bildet man durch mehrfache Angabe der unabhängigen Variablen, was mit
dem $ -Operator abgekürzt werden kann.
> diff(f(x),x,x);
# 2.Ableitung
> solve(D(f)(x)=0);
> diff(f(x),x$3);
# 3.Ableitung
Notwendige Bedingung für eine lokale Extremstelle ist das Verschwinden der ersten Ableitung.
Hinreichend ist das Verschwinden der ersten und das Nichtverschwinden der zweiten Ableitung.
> f := unapply(x^2*exp(-x),x); # Funktion definieren
> plot (f,-3..5,-1..5);
> solve(D(f)(x)=0);
# Nullstellen der ersten Ableitung
> D(D(f))(0);
> D(D(f))(2);
# Test mit 2.Ableitung
>
Was folgt daraus für die Extremwerte?
Berechnen Sie als Übung die Extremwerte von g(x)=
im Intervall
.
Integration
--------------------------------------------------------------------------------------------------------------------Integration
--------------------------------------------------------------------------------------------------------------------Für das Integrieren steht der MAPLE-Befehl int zur Verfügung, bei bestimmten Integralen
werden
die Integrationsgrenzen hinzugesetzt. Man beachte, dass dieser Befehl nur auf Funktions terme
anwendbar ist.
Wir beginnen mit unbestimmten Integralen.
> y := x^5+3*x^3+5*x-1;
> Y := int(y,x);
> diff(Y,x);
# Funktionsterm definieren
# Term einer Stammfunktion
# Probe
Wir probieren weitere Beispiele:
>
>
>
>
>
int(x^2*exp(-x),x);
diff(%,x);
int(ln(x+sqrt(x^2+1)),x);
diff(%,x);
simplify(%);
#
#
#
#
#
Term einer Stammfunktion
Probe
Term einer Stammfunktion
Probe
Vereinfchung des Terms
Es gibt elementare Funktionen, deren unbestimmtes Integral sich nicht durch elementare
Funktionen
ausdrücken lässt. Ein Beispiel hierfür ist:
> y:=exp(-t^2);
> int(y,t);
In der Ausgabe bedeutet erf die Gaußsche Fehlerfunktion (error function), die als
Integralfunktion
folgendermaßen definiert ist:
> x -> 2/sqrt(Pi)*int(exp(-t^2),t=0..x);
Damit sind wir bei den bestimmten Integralen angelangt. MAPLE versucht auch hier, exakt zu
rechnen. Numerische Werte erhält man mit dem anschließenden Befehl evalf .
>
>
>
>
>
>
>
int(x^5+3*x^3+5*x-1,x=1..3); # Integrationsbereich = [1,3]
int(x^2*exp(-x),x=0..1);
# Exaktes Integral
evalf(%);
# Numerischer Wert des Integrals
int(ln(x+sqrt(x^2+1)),x=0..1);
evalf(%);
int(exp(-t^2),t=1..2);
evalf(%);
Aufgabe:
Man berechne das Integral von 0 bis 4 für die Funktion (4-x)*sinh(x) !
> int((4-x)*sinh(x),x=0..4);
> evalf(%);
Taylor-Reihen
--------------------------------------------------------------------------------------------------------------------Taylor-Reihen
--------------------------------------------------------------------------------------------------------------------Mit dem MAPLE-Befehl taylor(
TaylorEntwicklung von der Funktion
bricht
also nach der Potenz
,
,
) werden die ersten
um den Entwicklungspunkt
einzugeben. Der voreingestellte Wert von
Ohne Angabe von
ermittelt.
>
>
>
>
ermittelt. Die Entwicklung
ab. Der Restterm wird mit O(
Wünscht man eine Taylor-Entwicklung bis zur Ordnung
der
Summanden der
) bezeichnet.
-Potenzen, so ist demnach
ist 6.
wird der Entwicklungspunkt 0 gewählt, d.h., die McLaurin-Reihe von
taylor(exp(x),x);
taylor(exp(x),x=1);
taylor(exp(x),x,4);
taylor(1/x,x=1,3);
# McLaurin-Reihe bis zur Ordnung 5
# Taylor-Reihe um x=1 bis zur Ordnung 5
# McLaurin-Reihe bis zur Ordnung 3
Im nächsten Beispiel wird die McLaurin-Reihe einer nicht-elementaren Funktion berechnet.
> int(exp(x^3),x);
> taylor(%, x);
Mit der Anweisung convert( ,polynom) kann ein Restterm beseitigt und damit eine TaylorEntwicklung in ein Taylor-Polynom umgewandelt werden.
>
>
>
>
f := x -> sqrt(1-x);
t5 := taylor(f(x),x);
convert(t5,polynom);
T5 := unapply(%,x);
# McLaurin-Reihe bis zur Ordnung 5
# Umwandlung in ein Polynom 5.Grades
# Zugehörige Polynom-Funktion
Um die Güte der Approximation zu veranschaulichen, plotten wir die Graphen von
und
:
> plot({f,T5},-2..2);
Noch ein ähnliches Beispiel !
>
>
>
>
>
g := x -> ln(cos(x));
t6 := taylor(g(x),x=1,7):
# Taylor-Reihe bis zur Ordnung 6
convert(t6,polynom):
# Umwandlung in ein Taylor-Polynom
T6 := unapply(%,x);
# Zugehörige Polynom-Funktion
plot({g,T6},0..Pi/2,-5..0);
Aufgaben
--------------------------------------------------------------------------------------------------------------------Übungsaufgaben
--------------------------------------------------------------------------------------------------------------------1. Berechnen Sie die erste und zweite Ableitung der Funktion
plotten Sie
die Graphen der drei Funktionen in einem einzigen Diagramm für den Bereich
.
> f := x -> exp(4-x^2)*(cos(x));
> fx:=D(f);
> fxx:=D(D(f));
und
,
> plot({f,fx,fxx},-8..8,color=[red,black,blue]);
>
>
>
>
>
>
>
2. Untersuchen Sie, für welche Werte von
die Funktion
ein lokales
Maximum und ein lokales Minimum hat. Plotten Sie zur Veranschaulichung des Ergebnisses
die
Funktionsgraphen zu den Parameterwerten
der
und
für einen geeigneten Bereich
-Achse, wobei n die Anzahl der Buchstaben Ihres Vornamens ist.
> restart;
> f := x -> x^3-3*a*x+a;
> F:=solve (D(f)
> D(D(f))
(x)=0,x);
(F[1]);
>
>
>
>
>
>
>
>
>
>
>
3. Für die Funktion
bestimmte
Integral in den Grenzen 0 bis 5.
ermittle man das unbestimmte Integral und das
4. Wie lauten die ersten 10 nicht verschwindenden Glieder der Taylor-Entwicklung der
Tangensfunktion um den Ursprung?
>
>
>
>
f:=x->exp(4-x^2)*cos(x);
g:=(D(f));
h:=(D(D(f)));
plot({f,g,h});
>
>
>
>
>
>
>
>
restart;
f:=x->x^3-3*a*x+a:
D(f);
solve(D(f)(x)=0);
a:=6;
plot(f);
a:='a';
a:=-6;
> plot(f);
> restart;
> f:=sqrt(x^2-2*x+5):
> int(f,x=0..5);
>
>
>
>
>
restart;
f:=tan(x):
t10:=taylor(tan(x),x=0);
convert(t10,polynom);
plot(unapply (%,x));
>
Herunterladen