LEHRSTUHL A FÜR MATHEMATIK Prof. Dr. E. Görlich Wintersemester 99/00 17. 1. 2000 __________________________________________________________ 4) Zu Uebung 13 ============= Aufgabe 1: Man untersuche folgende Funktionen auf Stetigkeit > f(x) = exp(-x)/(1+abs(cos(2*x))); , > g(x) = x-floor(x); , > h(x) = g(x)*(1-g(x)); . -------------------------------------- Zunaechst ist zu beachten, dass die obige Schreibweise unter Maple keinen Sinn ergibt. Maple kennt sogenannte "Ausdruecke" (expressions) und "Funktionen". Fuer die obige Funktion f bedeutet das: f ist eine Funktion (ebenso "cos", "exp", ...) f(x) ist ein Ausdruck, (ebenso cos(x), cos(1), exp(z), ...). -------------------------------------- Erste Moeglichkeit: Plotten von Ausdruecken: > plot(exp(-x)/(1+abs(cos(2*x))),x=-6.5..6.5); > plot(x-floor(x),x=-3..3); Die dritte Funktion kann als Ausdruck nur eingegeben werden, indem man die Definition von g(x) in g(x)*(1-g(x)) einsetzt: > plot((x-floor(x))*(1-x+floor(x)),x=-3..3); ========================================= Zweite Moeglichkeit: Plotten von Funktionen. Voraussetzung dazu: Definieren einer Funktion in Maple: (a) "Arrow operator" > f:=x-> exp(-x)/(1+abs(cos(2*x))); > f(0);f(1);f(Pi/2); > plot(f,-6.5..6.5); Auch der alte Befehl funktioniert hier: > plot(f(x),x=-6.5..6.5); > g:=x->x-floor(x); > plot(g,-3..3); > plot(g*(1-g),-3..3); Bemerkung: In den Maple-Buechern und Hilfe-Seiten kommen die Begriffe "expression", "function", "mathfunction", "inifunction" vor. Es ist Vorsicht geboten mit der intuitiven Interpretation dieser Begriffe. Grundsaetzlich ist damit zu rechnen, dass im Maple solche Begriffe anders definiert sind als in der Mathematik ueblich. Insbesondere ist die Vermutung falsch, der Maple-Begriff "type" sei mit der mathematischen Begriffsbstimmung identisch: Typ-Abfrage: > whattype(g); Typ-Test: > type(g,function); > type(g,mathfunc); > type(g,procedure); > type(g,operator); > whattype(exp(-x)/(1+abs(cos(2*x)))); > type(exp(-x)/(1+abs(cos(2*x))),expression); > ?type > ?operator ======================================== Definieren einer Funktion in Maple: (b) "unapply". Uebergang: "expression" -> Funktion: > f; > f(x); > f:='f'; > f(x); > F:=unapply(exp(-x)/(1+abs(cos(2*x))),x); > F(x); > F(w); > F(y); ================================================ Uebergang Funktion -> "expression: > F(x); > plot(F(t),t=-6.5..6.5); Zurueck zur Aufgabe: Woher kommen die "Spitzen"? Der Nenner erzeugt sie. Gemeinsamer Plot der Funktionen F und G, wobei > G:=x-> 1/(1+abs(cos(2*x))); > plot({F(x),G(x)},x=-6.5..6.5, y=0..60); =================================================== Begriff der "Menge (set)": > A:={1,2,3,4,5}; Nach Definition des Begriffs "Menge" kann ein Element in einer Menge nicht mehrmals vorkommen. Dem entspricht: > B:={ 1,1,1,2,3,4,5}; Maple kennt Mengenoperationen: > A minus B; > A union B; > A intersect B; Aber Vorsicht: Die Zahl 1 und die "float" 1.0 sind fuer Maple verschiedene Groessen: > D:={1,1.0,exp(0)}; > E:={1,1.0,exp(0)}; Bemerkung: Es gibt "geschuetzte" Begriffe in Maple. Das bewahrt den Benutzer davor, eine Maple-Funktion wie etwa "cos" (dahinter steckt ein i.a. umfangreiches Programmpaket) zu ueberschreiben! > cos:=x->1-x^2/2+x^4/24; ==================================================== Zu Uebung 13, Aufgabe 4 ==================== Grenzwerte, einseitige Grenzwerte. > limit(sin(x)/x,x=0,right); > limit((x^m-1)/(x^n-1),x=1,right); -->> Die Einschraenkung auf natuerliche Zahlen m, n ist unnoetig! > limit(x*(1-sqrt(1-1/x)),x=infinity); ===================================================== ===================================================== Nachtrag zu Abschnitt 2.j): Zeitsparen beim erneuten Ansehen einer bewegten Grafik: --------------------------------------- Ein Maple-Worksheet, das eine bewegte Grafik enthaelt, zeigt ein schwerfaelliges Verhalten beim Oeffnen und bei jeder Veraenderung der Fenstergroesse. Man kann das Worksheet vom Neuberechnen der Bilder entlasten, indem man die Grafik in ein "animated gif" umwandeln laesst, die dann von einem anderen Programm (hier: Netscape) geoeffnet werden kann. > a:=proc(x,y,t) local result; if (x-cos(t))^2+(y-sin(t))^2>0.01 then > result:=(x*y)/(x^2+y^2) else result:=FAIL fi; end: > interface(plotdevice=gif, plotoutput=`raupenbahn.gif`); > with(plots): > animate3d('a(x,y,t)','x'=-2..2, 'y'=-2..2, 't'=0..2*Pi, frames=32, > numpoints=1600,orientation=[109,49]); Zuruecksetzen der interface-Variable und Probe: > interface(plotdevice=inline); > plot(sin, -3..3); Das Bild wird unter dem gewaehlten Namen "raupenbahn.gif" im derzeit gueltigen "working directory" abgelegt (Groesse hier 0.6 MB) und kann mit Netscape angesehen werden (File-Menue, Open Page, dann den Namen des Bildes mit dem vollen Pfad eintragen, z.B.: /home/goerlich/MAPLEfANA00/raupenbahn.gif).