Maple - Universität Stuttgart

Werbung
Mathematik am Computer
2. Vorlesung: Maple, Teil II
Heiko Schulz
Universität Stuttgart
20. November 2008
Übersicht
1
Organisatorisches
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
2 / 44
Übersicht
1
Organisatorisches
2
Programmablaufsteuerung
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
2 / 44
Übersicht
1
Organisatorisches
2
Programmablaufsteuerung
3
Grenzwerte und Folgen
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
2 / 44
Übersicht
1
Organisatorisches
2
Programmablaufsteuerung
3
Grenzwerte und Folgen
4
Komplexe Zahlen
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
2 / 44
Übersicht
1
Organisatorisches
2
Programmablaufsteuerung
3
Grenzwerte und Folgen
4
Komplexe Zahlen
5
Zusatzpakete zu Maple
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
2 / 44
Übersicht
1
Organisatorisches
2
Programmablaufsteuerung
3
Grenzwerte und Folgen
4
Komplexe Zahlen
5
Zusatzpakete zu Maple
6
Lineare Algebra und Geometrie mit Maple
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
2 / 44
Übersicht
1
Organisatorisches
2
Programmablaufsteuerung
3
Grenzwerte und Folgen
4
Komplexe Zahlen
5
Zusatzpakete zu Maple
6
Lineare Algebra und Geometrie mit Maple
7
Ausblick
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
2 / 44
Organisatorisches
Organisatorisches
Wechsel Lehramt → Bachelor oder Parallelstudium: Infos vom
Studiendekan.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
3 / 44
Organisatorisches
Organisatorisches
Wechsel Lehramt → Bachelor oder Parallelstudium: Infos vom
Studiendekan.
Die aktuellen Übungslisten sind im Internet zu finden.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
3 / 44
Organisatorisches
Organisatorisches
Wechsel Lehramt → Bachelor oder Parallelstudium: Infos vom
Studiendekan.
Die aktuellen Übungslisten sind im Internet zu finden.
Teilnehmerzahlen:
Zur Zeit sind 90 Studierende (Bachelor) angemeldet.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
3 / 44
Organisatorisches
Organisatorisches
Wechsel Lehramt → Bachelor oder Parallelstudium: Infos vom
Studiendekan.
Die aktuellen Übungslisten sind im Internet zu finden.
Teilnehmerzahlen:
Zur Zeit sind 90 Studierende (Bachelor) angemeldet.
Beim ersten Übungstermin (31.10.) gab es 84 Teilnehmer.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
3 / 44
Organisatorisches
Organisatorisches
Wechsel Lehramt → Bachelor oder Parallelstudium: Infos vom
Studiendekan.
Die aktuellen Übungslisten sind im Internet zu finden.
Teilnehmerzahlen:
Zur Zeit sind 90 Studierende (Bachelor) angemeldet.
Beim ersten Übungstermin (31.10.) gab es 84 Teilnehmer.
Beim zweiten Übungstermin (13.11.) gab es 81 Teilnehmer.
Scheinkriterium: Anwesenheit!
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
3 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Eine bedingte Anweisung bewirkt, dass ein Befehl oder eine Gruppe
von Befehlen nur unter einer bestimmten Bedingung (oder auch
mehreren) durchgeführt wird.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
4 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Eine bedingte Anweisung bewirkt, dass ein Befehl oder eine Gruppe
von Befehlen nur unter einer bestimmten Bedingung (oder auch
mehreren) durchgeführt wird.
Syntax:
if bedingung 1 then
Befehle;
elif Bedingung 2 then
andere Befehle;
else
noch andere Befehle;
fi;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
4 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Eine bedingte Anweisung bewirkt, dass ein Befehl oder eine Gruppe
von Befehlen nur unter einer bestimmten Bedingung (oder auch
mehreren) durchgeführt wird.
Syntax:
if bedingung 1 then
Befehle;
elif Bedingung 2 then
andere Befehle;
else
noch andere Befehle;
fi;
Statt fi kann man auch end if schreiben.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
4 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Dies kann zu verschiedenen Programmstrukturen führen und für
verschiedene Zwecke benutzt werden, z.B.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
5 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Dies kann zu verschiedenen Programmstrukturen führen und für
verschiedene Zwecke benutzt werden, z.B.
a) Fallunterscheidung für eine
einzelne Anweisung:
befehl 1;
befehl 2;
if (bedingung) then
befehl 3a;
else
befehl 3b;
fi;
befehl 4;
...
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
5 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Dies kann zu verschiedenen Programmstrukturen führen und für
verschiedene Zwecke benutzt werden, z.B.
a) Fallunterscheidung für eine
einzelne Anweisung:
befehl 1;
befehl 2;
if (bedingung) then
befehl 3a;
else
befehl 3b;
fi;
befehl 4;
...
Heiko Schulz (Universität Stuttgart)
b) Verzweigungen, das gesamte
Programm betreffend:
befehl 1;
if (bedingung) then
befehl 2a;
befehl 3a;
...
else
befehl 2b;
befehl 3b;
...
fi;
Mathematik am Computer
20. November 2008
5 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Beispiel 1:
Primzahltest
p:=3;
if isprime(p) then
print(’p ist Primzahl’)
else
print(’p ist keine Primzahl’)
fi;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
6 / 44
Programmablaufsteuerung
Einfaches Programmieren: Bedingte Anweisungen
Beispiel 2:
Vorzeichentest
x:=4;
if (x>0) then
print(’x ist positiv’)
elif (x=0) then
print(’x ist Null’)
else
print (’x ist negativ’)
fi;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
7 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
8 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
8 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
8 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
3
die nicht abweisende Schleife.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
8 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
3
die nicht abweisende Schleife.
Die „Zählschleife:“
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
8 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
3
die nicht abweisende Schleife.
Die „Zählschleife:“
for variable from anfang to ende [ by schritt ] do
Befehle;
end do;
Statt end do kann man auch od schreiben.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
8 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Beispiele:
1
Produkt aller geraden Zahlen von 2 bis 10:
prod:=1;
for i from 2 to 10 by 2 do
prod:=prod*i;
end do;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
9 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Beispiele:
1
Produkt aller geraden Zahlen von 2 bis 10:
prod:=1;
for i from 2 to 10 by 2 do
prod:=prod*i;
end do;
2
Ausgabe aller Primzahlen zwischen 1 und 100:
for i from 1 to 100 do
if (isprime(i)) then
print(i)
end if
end do;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
9 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
3
die nicht abweisende Schleife.
Abweisende Schleife:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
10 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
3
die nicht abweisende Schleife.
Abweisende Schleife:
while bedingung do
Befehle;
end do;
„Abweisend“, weil sie nie durchgeführt wird, falls bedingung sofort
nicht erfüllt ist.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
10 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
3
die nicht abweisende Schleife.
Nicht abweisende Schleife:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
11 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Es gibt drei verschiedene Arten von Schleifen:
1
die „Zählschleife“,
2
die abweisende Schleife,
3
die nicht abweisende Schleife.
Nicht abweisende Schleife:
do
Befehle;
if(bedingung) then
break;
end if;
end do;
führt die Schleife aus, bis die bedingung erfüllt ist.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
11 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Beispiele:
1
Abweisende Schleife, die niemals ausgeführt wird:
x:=1;
while x<0.5 do
x:=x+1;
end do;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
12 / 44
Programmablaufsteuerung
Einfaches Programmieren: Schleifen
Beispiele:
1
Abweisende Schleife, die niemals ausgeführt wird:
x:=1;
while x<0.5 do
x:=x+1;
end do;
2
Nicht abweisende Schleife:
x:=1;
do
x:=x+1;
if(x<0.5) then
break;
end if;
end do;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
12 / 44
Programmablaufsteuerung
Einfaches Programmieren: Listen, Mengen und
Vektoren
Motivation:
Durchlaufen komplizierter Gebilde als die natürlichen Zahlen,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
13 / 44
Programmablaufsteuerung
Einfaches Programmieren: Listen, Mengen und
Vektoren
Motivation:
Durchlaufen komplizierter Gebilde als die natürlichen Zahlen,
Definition von Verzweigungsbedingungen mittels Mengen.
1
Mengen:
menge:={element_1,element_2,...,element_n};
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
13 / 44
Programmablaufsteuerung
Einfaches Programmieren: Listen, Mengen und
Vektoren
Motivation:
Durchlaufen komplizierter Gebilde als die natürlichen Zahlen,
Definition von Verzweigungsbedingungen mittels Mengen.
1
Mengen:
menge:={element_1,element_2,...,element_n};
2
(geordnete) Listen:
liste:=[element_1,element_2,...,element_n];
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
13 / 44
Programmablaufsteuerung
Einfaches Programmieren: Listen, Mengen und
Vektoren
Motivation:
Durchlaufen komplizierter Gebilde als die natürlichen Zahlen,
Definition von Verzweigungsbedingungen mittels Mengen.
1
Mengen:
menge:={element_1,element_2,...,element_n};
2
(geordnete) Listen:
liste:=[element_1,element_2,...,element_n];
3
Vektoren:
vektor:=<element_1,element_2,...,element_n>;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
13 / 44
Programmablaufsteuerung
Einfaches Programmieren: Listen, Mengen und
Vektoren
Beispiele:
1
Listen werden entsprechend der Reihenfolge durchlaufen:
liste:=[2,5,1,-1];
for i in liste do
i^2;
end do;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
14 / 44
Programmablaufsteuerung
Einfaches Programmieren: Listen, Mengen und
Vektoren
Beispiele:
1
2
Listen werden entsprechend der Reihenfolge durchlaufen:
liste:=[2,5,1,-1];
for i in liste do
i^2;
end do;
Mit dem in kann die Mengenzugehörigkeit überprüft werden:
menge1:={’hans’,’im’,’glueck’};
menge2:={’hans’,’wurst’};
for wort in menge2 do
if(wort in menge1) then
print(wort);
end if;
end do;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
14 / 44
Programmablaufsteuerung
Einschub: Mehrzeilige Eingaben
Problem: Nach Enter erwartet Maple einen abgeschlossenen
Code-Bereich,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
15 / 44
Programmablaufsteuerung
Einschub: Mehrzeilige Eingaben
Problem: Nach Enter erwartet Maple einen abgeschlossenen
Code-Bereich,d.h. z.B. die Eingabe von
for i from 1 to 10
<ENTER>
ergibt eine Fehlermeldung. Auch mit der Maus kommt man oft nicht in
eine tiefere Zeile.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
15 / 44
Programmablaufsteuerung
Einschub: Mehrzeilige Eingaben
Problem: Nach Enter erwartet Maple einen abgeschlossenen
Code-Bereich,d.h. z.B. die Eingabe von
for i from 1 to 10
<ENTER>
ergibt eine Fehlermeldung. Auch mit der Maus kommt man oft nicht in
eine tiefere Zeile.
Auswege:
<SHIFT><ENTER> springt in die nächste Zeile, ohne den
Code-Block abzuschließen. Erst wenn der Block fertig
geschrieben ist, <ENTER> drücken.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
15 / 44
Programmablaufsteuerung
Einschub: Mehrzeilige Eingaben
Problem: Nach Enter erwartet Maple einen abgeschlossenen
Code-Bereich,d.h. z.B. die Eingabe von
for i from 1 to 10
<ENTER>
ergibt eine Fehlermeldung. Auch mit der Maus kommt man oft nicht in
eine tiefere Zeile.
Auswege:
<SHIFT><ENTER> springt in die nächste Zeile, ohne den
Code-Block abzuschließen. Erst wenn der Block fertig
geschrieben ist, <ENTER> drücken.
Vorschreiben der Befehle in einem seperaten Editor, einlesen via
File -> Open... oder mit dem Maple-Befehl read.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
15 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Eine Funktion (Routine oder Unterprogramm) wird als Variable name
behandelt und wie folgt definiert:
name:=proc(Liste von Parametern)
Deklaration lokaler Variablen;
Deklaration globaler Variablen;
Folge von Befehlen;
RETURN(variable);
end;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
16 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Eine Funktion (Routine oder Unterprogramm) wird als Variable name
behandelt und wie folgt definiert:
name:=proc(Liste von Parametern)
Deklaration lokaler Variablen;
Deklaration globaler Variablen;
Folge von Befehlen;
RETURN(variable);
end;
Bemerkungen
Wird auf RETURN verzichtet, wird die Ausgabe des letzten Befehls
als Ergebnis (Returnwert) angesehen.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
16 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Eine Funktion (Routine oder Unterprogramm) wird als Variable name
behandelt und wie folgt definiert:
name:=proc(Liste von Parametern)
Deklaration lokaler Variablen;
Deklaration globaler Variablen;
Folge von Befehlen;
RETURN(variable);
end;
Bemerkungen
Wird auf RETURN verzichtet, wird die Ausgabe des letzten Befehls
als Ergebnis (Returnwert) angesehen.
Eine Veränderung der Parameter innerhalb des Unterprogramms
ist nicht möglich.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
16 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Lokale und globale Variablen:
Lokale Variablen: Gültigkeit ist auf dieses Unterprogramm
beschränkt.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
17 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Lokale und globale Variablen:
Lokale Variablen: Gültigkeit ist auf dieses Unterprogramm
beschränkt.
Globale Variablen: Können innerhalb der Funktion mit Wirkung
nach außen verändert werden.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
17 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Lokale und globale Variablen:
Lokale Variablen: Gültigkeit ist auf dieses Unterprogramm
beschränkt.
Globale Variablen: Können innerhalb der Funktion mit Wirkung
nach außen verändert werden.
Beispiel: Betrag eines Vektor aus R3 .
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
17 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Lokale und globale Variablen:
Lokale Variablen: Gültigkeit ist auf dieses Unterprogramm
beschränkt.
Globale Variablen: Können innerhalb der Funktion mit Wirkung
nach außen verändert werden.
Beispiel: Betrag eines Vektor aus R3 .
betrag3:=proc(x1,x2,x3)
local ergebnis;
ergebnis:=sqrt(x1^2+x2^2+x3^2);
RETURN(ergebnis);
end;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
17 / 44
Programmablaufsteuerung
Einfaches Programmieren: Eigene Unterprogramme
Lokale und globale Variablen:
Lokale Variablen: Gültigkeit ist auf dieses Unterprogramm
beschränkt.
Globale Variablen: Können innerhalb der Funktion mit Wirkung
nach außen verändert werden.
Beispiel: Betrag eines Vektor aus R3 .
betrag3:=proc(x1,x2,x3)
local ergebnis;
ergebnis:=sqrt(x1^2+x2^2+x3^2);
RETURN(ergebnis);
end;
Aufruf: z.B. betrag3(1,1,0);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
17 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Zur Bestimmung von Grenzwerten gibt es den Befehl limit:
limit - calculate limit
Calling Sequences
limit(f, x=a, dir)
Parameters
f
- algebraic expression
x
- name
a
- algebraic expression; limit point,
possibly infinity, or -infinity
dir - (optional) symbol; direction chosen from:
left, right, real, or complex
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
18 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Beispiele:
Grenzwert von sin(x)/x für x → 0 (via L’Hospital):
cos(x)
sin(x)
= lim
= 1
x
1
x→0
x→0
lim
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
19 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Beispiele:
Grenzwert von sin(x)/x für x → 0 (via L’Hospital):
cos(x)
sin(x)
= lim
= 1
x
1
x→0
x→0
lim
Maple: limit(sin(x)/x,x=0);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
19 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Beispiele:
Grenzwert von sin(x)/x für x → 0 (via L’Hospital):
cos(x)
sin(x)
= lim
= 1
x
1
x→0
x→0
lim
Maple: limit(sin(x)/x,x=0);
Grenzwert von ex für x → ∞:
lim ex = ∞
x→0
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
19 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Beispiele:
Grenzwert von sin(x)/x für x → 0 (via L’Hospital):
cos(x)
sin(x)
= lim
= 1
x
1
x→0
x→0
lim
Maple: limit(sin(x)/x,x=0);
Grenzwert von ex für x → ∞:
lim ex = ∞
x→0
Maple: limit(exp(x),x=infinity);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
19 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Ableitung von |x| im Punkt x = 0:
1,0
0,9
abs(x):
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
K
1,0
Heiko Schulz (Universität Stuttgart)
K
0,5
0
0,5
1,0
x
Mathematik am Computer
20. November 2008
20 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Ableitung von |x| im Punkt x = 0:
1,0
diff(abs(x),x):
0,5
K
1,0
K
0
0,5
0,5
1,0
x
K
0,5
K
1,0
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
21 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Grenzwert in x = 0: lim (|x|)0 ist nicht definiert. Maple:
x→0
limit(diff(abs(x),x),x=0);
ergibt den Wert undefined .
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
22 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Grenzwert in x = 0: lim (|x|)0 ist nicht definiert. Maple:
x→0
limit(diff(abs(x),x),x=0);
ergibt den Wert undefined .
Linksseitiger Grenzwert: lim (|x|)0 = −1. Maple:
x→−0
limit(diff(abs(x),x),x=0,left);
ergibt den Wert −1.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
22 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Grenzwert in x = 0: lim (|x|)0 ist nicht definiert. Maple:
x→0
limit(diff(abs(x),x),x=0);
ergibt den Wert undefined .
Linksseitiger Grenzwert: lim (|x|)0 = −1. Maple:
x→−0
limit(diff(abs(x),x),x=0,left);
ergibt den Wert −1.
Rechtsseitiger Grenzwert: lim (|x|)0 = 1. Maple:
x→+0
limit(diff(abs(x),x),x=0,right);
ergibt den Wert 1.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
22 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Es lassen sich auch Grenzwerte von Folgen an , n = 1, 2, ... berechnen.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
23 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Es lassen sich auch Grenzwerte von Folgen an , n = 1, 2, ... berechnen.
Beispiele:
lim
n→∞
√
n
n = 1, Maple:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
23 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Es lassen sich auch Grenzwerte von Folgen an , n = 1, 2, ... berechnen.
Beispiele:
lim
n→∞
√
n
n = 1, Maple:
limit(n^(1/n),n=infinity);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
23 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Es lassen sich auch Grenzwerte von Folgen an , n = 1, 2, ... berechnen.
Beispiele:
lim
√
n
n→∞
n = 1, Maple:
limit(n^(1/n),n=infinity);
lim nn
n→∞ a
= 0 für a > 1, Maple:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
23 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Es lassen sich auch Grenzwerte von Folgen an , n = 1, 2, ... berechnen.
Beispiele:
lim
√
n
n→∞
n = 1, Maple:
limit(n^(1/n),n=infinity);
lim nn
n→∞ a
= 0 für a > 1, Maple:
assume(a>1);
limit(n/(a^n),n=infinity);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
23 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Es lassen sich auch Grenzwerte von Folgen an , n = 1, 2, ... berechnen.
Beispiele:
lim
√
n
n→∞
n = 1, Maple:
limit(n^(1/n),n=infinity);
lim nn
n→∞ a
= 0 für a > 1, Maple:
assume(a>1);
limit(n/(a^n),n=infinity);
Mit assume weist man einer Variable eine Eigenschaft zu, diese kann
man mit about abfragen.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
23 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Es lassen sich auch Grenzwerte von Folgen an , n = 1, 2, ... berechnen.
Beispiele:
lim
√
n
n→∞
n = 1, Maple:
limit(n^(1/n),n=infinity);
lim nn
n→∞ a
= 0 für a > 1, Maple:
assume(a>1);
limit(n/(a^n),n=infinity);
Mit assume weist man einer Variable eine Eigenschaft zu, diese kann
man mit about abfragen.
Mit a:=’a’ oder unassign(’a’) verliert a alle gesetzten
Eigenschaften wieder.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
23 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Komplizierter: Rekursiv definierte Folgen. Es sei a1 gegeben und
an+1 = g(an ), n = 1, 2, ...
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
24 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Komplizierter: Rekursiv definierte Folgen. Es sei a1 gegeben und
an+1 = g(an ), n = 1, 2, ...
Beispiel:
1
(an + 2), n = 1, 2, ...
2
mit a1 = q beliebig. Es gilt für beliebiges q:
an+1 =
lim an = 2.
n→∞
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
24 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Komplizierter: Rekursiv definierte Folgen. Es sei a1 gegeben und
an+1 = g(an ), n = 1, 2, ...
Beispiel:
1
(an + 2), n = 1, 2, ...
2
mit a1 = q beliebig. Es gilt für beliebiges q:
an+1 =
lim an = 2.
n→∞
Realisierung in Maple?
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
24 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Man kann an als rekursive Funktion definieren:
a:=proc(n,q)
if n=1 then
q;
else
simplify(1/2*(a(n-1,q)+2));
end if;
end;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
25 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Man kann an als rekursive Funktion definieren:
a:=proc(n,q)
if n=1 then
q;
else
simplify(1/2*(a(n-1,q)+2));
end if;
end;
und verwenden
a(10,q); a(100,q); evalf(a(1000,q));
aber
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
25 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Man kann an als rekursive Funktion definieren:
a:=proc(n,q)
if n=1 then
q;
else
simplify(1/2*(a(n-1,q)+2));
end if;
end;
und verwenden
a(10,q); a(100,q); evalf(a(1000,q));
aber
limit(a(n,q),n=infinity);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
25 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
schlägt mit too many levels of recursion fehl!
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
26 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
schlägt mit too many levels of recursion fehl!
Erklärung: Der Zweig n=1 wird nie erreicht, wenn man nicht mit
einem konkreten n startet.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
26 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
schlägt mit too many levels of recursion fehl!
Erklärung: Der Zweig n=1 wird nie erreicht, wenn man nicht mit
einem konkreten n startet.
Ausweg: rsolve, ein vielseitig anwendbarer Befehl zum Auflösen
rekursiver Abhängigkeiten, dann Awendung des limit-Befehls.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
26 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
schlägt mit too many levels of recursion fehl!
Erklärung: Der Zweig n=1 wird nie erreicht, wenn man nicht mit
einem konkreten n startet.
Ausweg: rsolve, ein vielseitig anwendbarer Befehl zum Auflösen
rekursiver Abhängigkeiten, dann Awendung des limit-Befehls.
Anwendung am Beispiel an+1 =
1
2
(an + 2):
rsolve({a(n+1)=1/2*(a(n)+2),a(1)=q}, a);
limit(%,n=infinity);
liefert die gewünschte 2.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
26 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Weiteres Beispiel:
an+1 = 1 +
Heiko Schulz (Universität Stuttgart)
1
, n = 1, 2, ...
an
Mathematik am Computer
20. November 2008
27 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Weiteres Beispiel:
an+1 = 1 +
1
, n = 1, 2, ...
an
Definition als rekursive Funktion:
a:=proc(n,startwert)
local ergebnis;
if(n=1) then
ergebnis:=evalf(1+1/startwert);
else
ergebnis:=evalf(1+1/a(n-1,startwert));
fi;
RETURN(ergebnis);
end;
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
27 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Problem: Auch rsolve versagt.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
28 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Problem: Auch rsolve versagt.
Ausweg: Einführen einer neuen Folge qn mit an = qn+1 /qn .
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
28 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Problem: Auch rsolve versagt.
Ausweg: Einführen einer neuen Folge qn mit an = qn+1 /qn .
Mathematischer Hintergrund: Die „Grenzgleichung“
1
a
ist äquivalent zu der quadratischen Gleichung
a = 1+
a2 − a − 1 = 0,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
28 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Problem: Auch rsolve versagt.
Ausweg: Einführen einer neuen Folge qn mit an = qn+1 /qn .
Mathematischer Hintergrund: Die „Grenzgleichung“
1
a
ist äquivalent zu der quadratischen Gleichung
a = 1+
a2 − a − 1 = 0,
mit den Lösungen
a1,2 =
Heiko Schulz (Universität Stuttgart)
1 1√
±
5.
2 2
Mathematik am Computer
20. November 2008
28 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Problem: Auch rsolve versagt.
Ausweg: Einführen einer neuen Folge qn mit an = qn+1 /qn .
Mathematischer Hintergrund: Die „Grenzgleichung“
1
a
ist äquivalent zu der quadratischen Gleichung
a = 1+
a2 − a − 1 = 0,
mit den Lösungen
a1,2 =
1 1√
±
5.
2 2
a1 ist das Teilungsverhältnis beim „Goldenen Schnitt“.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
28 / 44
Grenzwerte und Folgen
Grenzwerte mit Maple berechnen
Problem: Auch rsolve versagt.
Ausweg: Einführen einer neuen Folge qn mit an = qn+1 /qn .
Mathematischer Hintergrund: Die „Grenzgleichung“
1
a
ist äquivalent zu der quadratischen Gleichung
a = 1+
a2 − a − 1 = 0,
mit den Lösungen
a1,2 =
1 1√
±
5.
2 2
a1 ist das Teilungsverhältnis beim „Goldenen Schnitt“.
Beobachtung: Auch wenn man mit a2 startet, konvergiert die
Folge stets zu a1 !
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
28 / 44
Komplexe Zahlen
Komplexe Zahlen
Es sei z ∈ C:
z = x + i · y mit x, y ∈ R.
x nennt man den Realteil von z, y heißt Imaginärteil von z und für die
imaginäre Einheit i gilt
i 2 = −1.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
29 / 44
Komplexe Zahlen
Komplexe Zahlen
Es sei z ∈ C:
z = x + i · y mit x, y ∈ R.
x nennt man den Realteil von z, y heißt Imaginärteil von z und für die
imaginäre Einheit i gilt
i 2 = −1.
Entsprechung in Maple:
Re - return the Real part of a complex-valued
expression
Im - return the Imaginary part of a complex-valued
expression
I - root of x^2 = -1
Maple rechnet generell im komplexen Zahlenraum.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
29 / 44
Komplexe Zahlen
Komplexe Zahlen
Beispiele:
I^2;
x:=4+I; y:=1-I; x*y;
solve(z^2+z+1=0,z);
solve(z^4=1,z);
z:=1+I; abs(z);
assume(x,real); Re(x*z);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
30 / 44
Komplexe Zahlen
Komplexe Zahlen
Grafische Darstellung in 2D: complexplot.
Beispiel: Darstellung von 1 + i in der komplexen Zahlenebene.
with(plots);
complexplot(1+I,x=0..2, style=point);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
31 / 44
Komplexe Zahlen
Komplexe Zahlen
Grafische Darstellung in 2D: complexplot.
Beispiel: Darstellung von 1 + i in der komplexen Zahlenebene.
with(plots);
complexplot(1+I,x=0..2, style=point);
Berechnung der konjugiert komplexen Zahl: conjugate.
Beispiel:
assume(x,real,y,real);
conjugate(x+I*y);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
31 / 44
Komplexe Zahlen
Komplexe Zahlen
Grafische Darstellung in 2D: complexplot.
Beispiel: Darstellung von 1 + i in der komplexen Zahlenebene.
with(plots);
complexplot(1+I,x=0..2, style=point);
Berechnung der konjugiert komplexen Zahl: conjugate.
Beispiel:
assume(x,real,y,real);
conjugate(x+I*y);
Trennung von Real- und Imaginärteil: evalc.
Beispiel:
evalc(sqrt(I^I));
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
31 / 44
Komplexe Zahlen
Komplexe Zahlen
Polardarstellung:
z = r · eiϕ = r · (cos(ϕ) + i · sin(ϕ))
mit dem Betrag r und dem Winkel ϕ.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
32 / 44
Komplexe Zahlen
Komplexe Zahlen
Polardarstellung:
z = r · eiϕ = r · (cos(ϕ) + i · sin(ϕ))
mit dem Betrag r und dem Winkel ϕ.
Umsetzung in Maple: polar - convert to polar form.
Calling Sequence
polar(z)
polar(r, t)
Parameters
z - expression
r - expression, understood to be real
t - expression, understood to be real
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
32 / 44
Komplexe Zahlen
Komplexe Zahlen
Beispiele:
polar(1+2*I);
polar(x+I*y);
Re(polar(4, Pi/2));
Im(polar(4, Pi/2));
z1:=polar(4, Pi/2); z2:=polar(1, Pi/3);
z1*z2;
Re(z1*z2);
abs(z1*z2);
polar(z1*z2);
...
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
33 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Zur Erweiterung des Funktionsumfangs von Maple existieren eine
Reihe von Zusatzpaketen, die jederzeit mit
with(paketname);
geladen werden können. Es werden die hinzugefügten oder
veränderten (überschriebenen) Befehle angezeigt.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
34 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Zur Erweiterung des Funktionsumfangs von Maple existieren eine
Reihe von Zusatzpaketen, die jederzeit mit
with(paketname);
geladen werden können. Es werden die hinzugefügten oder
veränderten (überschriebenen) Befehle angezeigt. Mit
packages();
kann angezeigt werden, welche Pakete geladen sind.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
34 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Zur Erweiterung des Funktionsumfangs von Maple existieren eine
Reihe von Zusatzpaketen, die jederzeit mit
with(paketname);
geladen werden können. Es werden die hinzugefügten oder
veränderten (überschriebenen) Befehle angezeigt. Mit
packages();
kann angezeigt werden, welche Pakete geladen sind.Mit
unwith(paketname)
wird das Laden eines Paketes rückgängig gemacht.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
34 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Zur Erweiterung des Funktionsumfangs von Maple existieren eine
Reihe von Zusatzpaketen, die jederzeit mit
with(paketname);
geladen werden können. Es werden die hinzugefügten oder
veränderten (überschriebenen) Befehle angezeigt. Mit
packages();
kann angezeigt werden, welche Pakete geladen sind.Mit
unwith(paketname)
wird das Laden eines Paketes rückgängig gemacht.
Im Lieferumfang von Maple (V. 11) gibt es 102 Zusatzpakete. Weitere
findet man im Internet.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
34 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
IntegrationTools
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Tools zur Integration von Funktionen
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
IntegrationTools
LinearAlgebra
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Tools zur Integration von Funktionen
Tools zur Linearen Algebra
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
IntegrationTools
LinearAlgebra
Logic
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Tools zur Integration von Funktionen
Tools zur Linearen Algebra
Aussagenlogik
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
IntegrationTools
LinearAlgebra
Logic
LREtools
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Tools zur Integration von Funktionen
Tools zur Linearen Algebra
Aussagenlogik
Behandlung linearer rekursiver Gleichungen
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
IntegrationTools
LinearAlgebra
Logic
LREtools
Matlab
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Tools zur Integration von Funktionen
Tools zur Linearen Algebra
Aussagenlogik
Behandlung linearer rekursiver Gleichungen
MATLAB-Link
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
IntegrationTools
LinearAlgebra
Logic
LREtools
Matlab
numapprox
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Tools zur Integration von Funktionen
Tools zur Linearen Algebra
Aussagenlogik
Behandlung linearer rekursiver Gleichungen
MATLAB-Link
Approximation von Funktionen durch Polynome
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Auswahl einiger Pakete:
combinat
CurveFitting
DEtools, diffalg
geom3d
geometry
GraphTheory
group
IntegrationTools
LinearAlgebra
Logic
LREtools
Matlab
numapprox
numtheory
Heiko Schulz (Universität Stuttgart)
Kombinatorik-Tools
Appromimation von Punkten durch Polynome
Behandlung von Differentialgleichungen
Dreidimensionale euklidische Geometrie
Zweidimensionale euklidische Geometrie
Graphentheorie
Gruppentheorie
Tools zur Integration von Funktionen
Tools zur Linearen Algebra
Aussagenlogik
Behandlung linearer rekursiver Gleichungen
MATLAB-Link
Approximation von Funktionen durch Polynome
Zahlentheorie
Mathematik am Computer
20. November 2008
35 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
Heiko Schulz (Universität Stuttgart)
Optimierung
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
powseries
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Formale Reihen
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
powseries
RandomTools
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Formale Reihen
Erzeugen und Rechnen mit Zufallszahlen
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
powseries
RandomTools
RootFinding
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Formale Reihen
Erzeugen und Rechnen mit Zufallszahlen
Tools zum Lösen von Gleichungen
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
powseries
RandomTools
RootFinding
simplex
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Formale Reihen
Erzeugen und Rechnen mit Zufallszahlen
Tools zum Lösen von Gleichungen
Lineare Optimierungsprobleme (Simplex-Alg.)
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
powseries
RandomTools
RootFinding
simplex
Statistics
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Formale Reihen
Erzeugen und Rechnen mit Zufallszahlen
Tools zum Lösen von Gleichungen
Lineare Optimierungsprobleme (Simplex-Alg.)
Statistik-Tools
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
powseries
RandomTools
RootFinding
simplex
Statistics
sumtools, SumTools
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Formale Reihen
Erzeugen und Rechnen mit Zufallszahlen
Tools zum Lösen von Gleichungen
Lineare Optimierungsprobleme (Simplex-Alg.)
Statistik-Tools
Berechnung von Summen
Mathematik am Computer
20. November 2008
36 / 44
Zusatzpakete zu Maple
Zusatzpakete zu Maple
Optimization
OrthogonalSeries
PDEtools
Physics
plots
powseries
RandomTools
RootFinding
simplex
Statistics
sumtools, SumTools
VectorCalculus
Heiko Schulz (Universität Stuttgart)
Optimierung
Orthogonale Polynome
Lösen von Partiellen Differentialgleichungen
Behandlung von Objekten aus der Math. Physik
Verschiedene Plot-Befehle
Formale Reihen
Erzeugen und Rechnen mit Zufallszahlen
Tools zum Lösen von Gleichungen
Lineare Optimierungsprobleme (Simplex-Alg.)
Statistik-Tools
Berechnung von Summen
Vektorrechnung
Mathematik am Computer
20. November 2008
36 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket VectorCalculus stellt einige Zusatzprogramme
zur Behandlung von Vektoren zur Verfügung. Eine kleine Auswahl:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
37 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket VectorCalculus stellt einige Zusatzprogramme
zur Behandlung von Vektoren zur Verfügung. Eine kleine Auswahl:
Skalarprodukt zweier Vektoren ~a, ~b ∈ Rn :
~a · ~b :=
n
X
ai bi .
i=1
Dabei seien ai , bi ∈ R die Koeffizienten bzgl. der Einheitsbasis.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
37 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket VectorCalculus stellt einige Zusatzprogramme
zur Behandlung von Vektoren zur Verfügung. Eine kleine Auswahl:
Skalarprodukt zweier Vektoren ~a, ~b ∈ Rn :
~a · ~b :=
n
X
ai bi .
i=1
Dabei seien ai , bi ∈ R die Koeffizienten bzgl. der Einheitsbasis.
Entsprechung in Maple: DotProduct(a, b).
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
37 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket VectorCalculus stellt einige Zusatzprogramme
zur Behandlung von Vektoren zur Verfügung. Eine kleine Auswahl:
Skalarprodukt zweier Vektoren ~a, ~b ∈ Rn :
~a · ~b :=
n
X
ai bi .
i=1
Dabei seien ai , bi ∈ R die Koeffizienten bzgl. der Einheitsbasis.
Entsprechung in Maple: DotProduct(a, b).
Beispiel:
with(VectorCalculus);
DotProduct(<a1,a2>,<b1,b2>);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
37 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Kreuzprodukt ~c := ~a × ~b zweier Vektoren ~a, ~b ∈ R3 :
c1 := a2 b3 − a3 b2 ,
c2 := a3 b1 − a1 b3 ,
c3 := a1 b2 − a2 b1 .
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
38 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Kreuzprodukt ~c := ~a × ~b zweier Vektoren ~a, ~b ∈ R3 :
c1 := a2 b3 − a3 b2 ,
c2 := a3 b1 − a1 b3 ,
c3 := a1 b2 − a2 b1 .
Entsprechung in Maple: CrossProduct(a, b).
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
38 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Kreuzprodukt ~c := ~a × ~b zweier Vektoren ~a, ~b ∈ R3 :
c1 := a2 b3 − a3 b2 ,
c2 := a3 b1 − a1 b3 ,
c3 := a1 b2 − a2 b1 .
Entsprechung in Maple: CrossProduct(a, b).
Beispiel:
with(VectorCalculus);
a:=<3,2,-1>; b:=<1,0,-2>;
CrossProduct(a,b);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
38 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Anwendung: Überprüfen von Vektor-Eigenschaften im R3 , z.B. dass
das Kreuzprodukt zweier Vektoren senkrecht auf diesen steht:
(~a × ~b) · ~a = (~a × ~b) · ~b = 0 :
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
39 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Anwendung: Überprüfen von Vektor-Eigenschaften im R3 , z.B. dass
das Kreuzprodukt zweier Vektoren senkrecht auf diesen steht:
(~a × ~b) · ~a = (~a × ~b) · ~b = 0 :
Nachrechnen mit Maple:
with(VectorCalculus);
a := <a1,a2,a3>; b := <b1,b2,b3>;
axb:=CrossProduct(a,b);
DotProduct(axb,a);
simplify(%);
DotProduct(axb,b);
simplify(%);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
39 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Norm („Betrag“) eines Vektors ~a der Dimension n:
v
u n
uX
p
||~a||p := t
|ai |p
i=1
für p < ∞
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
40 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Norm („Betrag“) eines Vektors ~a der Dimension n:
v
u n
uX
p
||~a||p := t
|ai |p
i=1
für p < ∞ bzw.
||~a||∞ :=
max |ai |
p=1,...,n
Entsprechung in Maple: Norm(a, p).
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
40 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Norm („Betrag“) eines Vektors ~a der Dimension n:
v
u n
uX
p
||~a||p := t
|ai |p
i=1
für p < ∞ bzw.
||~a||∞ :=
max |ai |
p=1,...,n
Entsprechung in Maple: Norm(a, p).
Beispiele:
Euklidischer Abstand (p = 2): Norm(<1,0,1>,2)
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
40 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Norm („Betrag“) eines Vektors ~a der Dimension n:
v
u n
uX
p
||~a||p := t
|ai |p
i=1
für p < ∞ bzw.
||~a||∞ :=
max |ai |
p=1,...,n
Entsprechung in Maple: Norm(a, p).
Beispiele:
Euklidischer Abstand (p = 2): Norm(<1,0,1>,2)
Maximum-Norm (p = ∞): Norm(<-3,0,1,2>,infinity);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
40 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket LinearAlgebra stellt weitere Zusatzprogramme
zur Behandlung von Vektoren und Matrizen zur Verfügung. Eine kleine
Auswahl:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
41 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket LinearAlgebra stellt weitere Zusatzprogramme
zur Behandlung von Vektoren und Matrizen zur Verfügung. Eine kleine
Auswahl:
Bestimmen des Winkels zwischen 2 Vektoren: VectorAngle,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
41 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket LinearAlgebra stellt weitere Zusatzprogramme
zur Behandlung von Vektoren und Matrizen zur Verfügung. Eine kleine
Auswahl:
Bestimmen des Winkels zwischen 2 Vektoren: VectorAngle,
Lösen linearer Gleichungssysteme: LinearSolve,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
41 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Das Zusatzpaket LinearAlgebra stellt weitere Zusatzprogramme
zur Behandlung von Vektoren und Matrizen zur Verfügung. Eine kleine
Auswahl:
Bestimmen des Winkels zwischen 2 Vektoren: VectorAngle,
Lösen linearer Gleichungssysteme: LinearSolve,
... viele weitere Befehle zum Rechnen mit Matrizen und Vektoren
(Multiplikation, Invertierung, verschiedene Lösungsverfahren für
lineare Gleichungssysteme, Determinante einer Matrix,
Eigenwerte und Eigenvektoren,...).
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
41 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Anwendungsbeispiel: Basistransformation im R2 . Gegeben sei ein
Vektor ~a in der Einheitsbasisdarstellung:
0
1
~a = a1~e1 + a2~e2 , ~e1 =
~
, e2 =
,
0
1
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
42 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Anwendungsbeispiel: Basistransformation im R2 . Gegeben sei ein
Vektor ~a in der Einheitsbasisdarstellung:
0
1
~a = a1~e1 + a2~e2 , ~e1 =
~
, e2 =
,
0
1
Weiter seien 2 linear unabhängige Vektoren ~v1 , ~v2 ∈ R2 gegeben, die
also ebenfalls eine Basis im Vektorraum R2 bilden.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
42 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Anwendungsbeispiel: Basistransformation im R2 . Gegeben sei ein
Vektor ~a in der Einheitsbasisdarstellung:
0
1
~a = a1~e1 + a2~e2 , ~e1 =
~
, e2 =
,
0
1
Weiter seien 2 linear unabhängige Vektoren ~v1 , ~v2 ∈ R2 gegeben, die
also ebenfalls eine Basis im Vektorraum R2 bilden.
Gesucht: Koeffizienten b1 , b2 von ~a in der neuen Basis, so dass also
~a = b1~v1 + b2~v2 .
gilt.
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
42 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Dies entspricht der Lösung eines linearen Gleichungssystems.
V~b = ~a
mit einer Matrix V = (~v1 , ~v2 ).
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
43 / 44
Lineare Algebra und Geometrie mit Maple
Lineare Algebra und Geometrie mit Maple
Dies entspricht der Lösung eines linearen Gleichungssystems.
V~b = ~a
mit einer Matrix V = (~v1 , ~v2 ).
Realisierung in Maple:
with(LinearAlgebra);
a:=<a1,a2>;
v1:=<1,1>;
v2:=<0,1>;
V:=<v1|v2>;
LinearSolve(V,a);
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
43 / 44
Ausblick
Ausblick
Ausblick auf die nächste Vorlesung am 04.12.2008:
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
44 / 44
Ausblick
Ausblick
Ausblick auf die nächste Vorlesung am 04.12.2008:
Arbeiten mit der Entwicklungsumgebung Matlab,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
44 / 44
Ausblick
Ausblick
Ausblick auf die nächste Vorlesung am 04.12.2008:
Arbeiten mit der Entwicklungsumgebung Matlab,
Programmieren mit Matlab,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
44 / 44
Ausblick
Ausblick
Ausblick auf die nächste Vorlesung am 04.12.2008:
Arbeiten mit der Entwicklungsumgebung Matlab,
Programmieren mit Matlab,
Eigene Funktionen, „m-files“,
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
44 / 44
Ausblick
Ausblick
Ausblick auf die nächste Vorlesung am 04.12.2008:
Arbeiten mit der Entwicklungsumgebung Matlab,
Programmieren mit Matlab,
Eigene Funktionen, „m-files“,
...
Heiko Schulz (Universität Stuttgart)
Mathematik am Computer
20. November 2008
44 / 44
Herunterladen