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