[~/ANA00/05.txt] 4) Extrema, Environment Variable, underscore-Zeichen, _EnvAllSolutions ====================================================== Eine Aufgabe aus Ana II, SS 96, Uebung 15, A 7: Man berechne alle relativen Extrema der Funktion exp(-x)*(cos(x)-sin(x)). ======================================== Erster Versuch: Wir erhalten nur einen Extremwert. > restart; > f:=x->exp(-x)*(cos(x)-sin(x)); > diff(f(x),x); > solve(%); Es aendert nichts, wenn wir zur numerischen Bestimmung "fsolve" uebergehen: > evalf(%); > fsolve(diff(f(x),x)); Es sind aber unendlich viele Loesungen vorhanden, und zwar an allen x, die Nullstellen von cos(x) sind: > diff(f(x),x); > expand(%); Auch hier gibt Maple (zunaechst) nur eine Loesung an: > solve(cos(x),x); ======================================================= Siehe die Hilfe zu "solve": > ?solve Es gibt sogenannte "globale Variable" oder "environment variables", deren Wert vom Benutzer zur Konfiguration seiner persoenlichen Maple-Version (oder -Umgebung) veraendert werden kann. Siehe auch: > ?envvar Dazu gehoeren die Variablen > _MaxSols; > _EnvAllSolutions; Ihre "default"-Werte sind also "leer". Setze neuen Wert und pruefe ihn: > _EnvAllSolutions:=true; > _EnvAllSolutions; Nun nochmal die Frage nach den Nullstellen von cos(x): > solve(cos(x),x); Dabei bedeutet das underscore-Zeichen "_" bei "_Z1~", dass "Z1" eine von Maple-System eingefuehrte Variable ist, und zwar steht Z fuer "ganze Zahl". Da es verschiedene Parameter geben kann, die ganzzahlige Werte annehmen, werden sie numeriert: _Z1, _Z2, ... und sie erhalten ein "tilde"-Zeichen "~" wie alle Variablen, die einer Einschraenkung unterliegen. Zitat aus der Hilfe zu "solve": ======================= The variable _EnvAllSolutions, if set to true, will force all inverse transcendental functions to return the entire set of solutions. This usually requires additional, system created, variables, which take integer values. Normally such variables are named with prefix _Z for integer values, _NN for non-negative integer values and _B for binary values (0 and 1). Note that these names are not global variables. Use indets in order to recover them for further processing (like substituting values). Somit ist _Z1~ keine globale Variable. d.h.: > about(_Z1); ============================================================ Es gibt einen weiteren Maple-Befehl "extrema". Er liefert Extremwerte von Funktionen, siehe > ?extrema > readlib(extrema): > extrema(f(x),{},x,s); Auch hier kann man die x-Werte abfragen, an denen die Extrema angenommen werden: > s; > restart; >