GTR - Maple Tabelle: Unterschied zwischen den Versionen
K (→Maple 9) |
|||
Zeile 435: | Zeile 435: | ||
==Maple 9== | ==Maple 9== | ||
>_EnvAllSolutions:=true | >_EnvAllSolutions:=true | ||
>solve(sin(x)=0.5) | >solve(sin(x)=0.5) | ||
.523+2.094*_B1+6.283*_Z1 | .523+2.094*_B1+6.283*_Z1 | ||
Version vom 16. März 2012, 15:09 Uhr
Einige Rechenbefehle
5 durch 7
>5/7;
Wurzel aus 14
>sqrt(14);
Logarithmus
Logarithmus von 2 zur Basis 10:
>log[10](2);
>evalf(%,8);
Umrechnung zwischen Grad- und Bogenmaß
>convert(81*degrees,radians); (Anmerkung: oder umgekehrt)
[math]\displaystyle{ \pi }[/math]
>Pi;
Eulersche Zahl
>exp(1);
e hoch 2
>exp(2);
Worksheet zu den Rechenbefehlen
Arbeiten mit dem Speicher
Den Buchstaben A,B,C können beliebige Werte zugeordnet werden. Ein Beispiel verdeutlicht das Vorgehen:
>A:=5;
Die Zahl 5 wird dem Buchstaben zugeordnet mit := .
Möchte man ein Zwischenergebnis einem Speicher zuordnen, dann geht das so:
>B:=%;
Speicher zurücksetzen
restart;
Worksheet zum Speicher
Umgang mit Termen
Einfache Operationen
Maple | heißt für Maple |
---|---|
>restart; | "Setze alle Werte zurück" |
>g1:=(x-5)^3*(x+5)*x; | "Lege in der Variable g1 den Term ab" |
>g1; | "Gib mir den Inhalt der Variable g1 aus" |
>subs(x=4,g1); | "Ersetze in der Variable g1 das x durch die Zahl 4" |
>eval(g1,x=exp(1)); | "Setze in die Variable g1 e für x ein" |
>evalf(%); | "Berechne das numerische Ergebnis der letzten Operation" |
>expand(g1); | "Multipliziere den Term in der Variable g1 aus" |
>g2:=x^3-7*x^2+7*x+15; | "Lege in der Variable g2 den Term ab" |
>factor(g2); | "Zerlege den Term in g2 in seine Faktoren" |
>solve(g2=0); | "Löse die Gleichung x^3-7*x^2+7*x+15=0" |
>fsolve(g2); | "Löse die Gleichung x^3-7*x^2+7*x+15=0" |
>fsolve(g2+3,x); | "Addiere 3 zum Term in g2 hinzu und gib die Lösung für den Fall aus, dass der Term =0 gesetzt wird" |
Terme mit Parametern
>g3:=a*x^2+b*x+c;
>solve(g3=0,x); Hier gibt das x am Ende der Klammer an, dass die Lösung für den Parameter x gesucht wird. Entsprechend geht auch:
>solve(g3=0,a);
Worksheet zu Termen
Gleichungssysteme
mit solve lösen
>solve({x+y+z=a,2*x+y+z=3,x-y+2*z=0},{x,y,z});
als Matrix lösen
LGS: 1*a+2*b=3 und -3*a-2*b=-1
Vorbereitung: Matrixoperationen zulassen
>with(linalg):
Matrix eingeben:
>MA:=matrix(2,3,[1,2,3,-3,-2,-1]);
>MA[2,1];
weitere Varianten
siehe Seite Lineare Gleichungssyteme
Worksheet zu Gleichungssystemen
Umgang mit Matrizen
linalg-Paket aktivieren !!!!
> restart;
> with(linalg):
Matrix eingeben
> A:=matrix([[1,2,3],[-1,2,-3],[4,5,6]]);
oder
> A:=matrix(3,3,[1,2,3,-1,2,-3,4,5,6]);
Einzelne Elemente ausgeben lassen
> A[2,3];
Einheitsmatrix: (gleich viele Spalten wie Zeilen, nur in der Diagonalen 1-er)
> E:=matrix([[1,0,0],[0,1,0],[0,0,1]]);
Addieren und subtrahieren mit evalm (und mit Linalg-Paket!):
> B:=evalm(E-A);
Multiplizieren mit &*:
> evalm(A &* A);
Die inverse Matrix bilden, z.B. B^-1: (Das geht aber nur manchmal ohne Error)
> inverse(B);
Auf Diagonalgestalt umformen
Zum Befehl rref siehe weiter oben beim Lösen von Gleichungen.
>rref(MA);
Also gilt: a=-1 und b=2.
Worksheet zu Matrizrn
Funktionen
Eingabe
für einfache Operationen reicht diese Variante:
y=0,37x+2,53 wird zu:
y:=0.37*x+2.53;
Anstelle von Komma nimmt man Punkt.
Funktionen im Sinne von f(x)=0,37x+2,53 gibt man ein als
>f:=x->0.37x+2.53;
heißt: "Ordne jedem x einen Wert zu der sich so berechnet: 0.37x+2.53"
ein weiteres Beispiel:
>f:=x->x^2;
Ausgabe des Werts an einer bestimmten Stelle
>f(2);
>f(2*a);
Funktionsgraph
>plot(f(x),x=-2..3,y=-1..10);
Ableitung, Aufleitung, Integration
siehe Ableiten und Integrieren
Worksheet zu Funktionen
Funktionsanalyse mit Hilfe der Prozeduren
Wertetabelle einer Funktion
Zur Darstellung einer Wertetabelle muss man die Prozedur einmailg in Maple installieren. Entsprechend der | Anleitung.
Als nächstes muss man die Prozedur mit dem Befehl
read "Prozeduren.m";
aufrufen.
Mit dem Befehl
>wertetabelle(y, x= 0..10);
werden alle Werte zwischen 0 und 10 ausgegeben.
Schaubild einer Funktion
> plot(y,x=0..10);
Die Funktion f wird im Bereich zwischen 1 und 10 dargestellt.
Nullstellen bestimmen
> read "Prozeduren.m";
Einbinden, wenn noch nicht eingebunden.
1. Muss die Funktion die zu bestimmen ist definiert werden.
> f:=x->3*x+2;
2. Mit diesem Befehl werden die Nullstellen der Prozedur f ermittelt. Diese werden in der Variablen Nullstellen abgespeichert.
> nullstellen(f);
3. Der Inhalt der Variablen wird aufgerufen mit:
> Nullstellen;
Schnittpunkte bestimmen
> read "Prozeduren.m";
Einbinden, wenn noch nicht eingebunden.
1. Die Funktionen f (x) und g(x) für die der Schnittpunkt bestimmt werden soll definieren.
> g:= x -> -x^2+5;
> f:= x -> -1/4*x^2+2;
2. Mit diesem Befehl werden die Schnittpunkte bestimmt:
> schnittpunkte(f,g);
Die erste Zahl in einer eckigen Klammer ist die x-Wert, die Zweite der y-Wert.
3. Beide Funktionen lassen sich wie folgt in einem Schaubild darstellen.
> plot({f(x),g(x)},x=-4..4);
Betrag f(x) zeichnen
Der Befehl Betrag ist für Maple abs().
Also gibst du einfach deine Funktion wie folgt ein:
> f:=x->abs(2-x);
f := x -> | 2 - x |
Anschließend muss die Funktion nur noch mit plot gezeichnet werden.
> plot(f(x),x=-10..14);
Worksheet zu den Prozeduren
Hier befindet sich das ganze noch als Worksheet zu ausprobieren.
Hoch und Tiefpunkte bestimmen - eine Alternative zur Prozedur
Zum Bestimmen von Hoch- und Tiefpunkten kann man auch die Befehle minimize und maximize benutzen. Bei dieser Möglichkeit ist es auch möglich den Bereich anzugeben. Achtung! Der hier dargestellte Weg findet Extremstellen bei trigonometrischen Funktionen nur eingeschränkt! Zur Ausgabe aller Maxima und Minima muss die Funktion mehrfach mit unterschiedlichen Bereichen angewendet werden!
restart;
Funktion definieren
f(x):=sin(x)+4;
plot(f(x), x=0..2*Pi);
Tiefpunkt:
Maple 9.5
minimize(f(x), x=0..2*Pi, location);
"location" dient dazu die x-Stellen zu ermitteln.
Maple 14
with(Optimization);
Minimize(f(x),x=0..2*Pi);
Maple 15
Minimize(f(x),x=0..2*Pi);
Hochpunkt:
Maple 9.5
maximize(f(x), x=0..2*Pi, location);
Maple 14
with(Optimization);
Maximize(f(x),x=0..2*Pi);
Maple 15
Maximize(f(x),x=0..2*Pi);
Übung zum Download
- für Maple 9.x: Media:Hoch_und_Tiefpunkte.mws
- für Maple 14: Media:Hoch_und_Tiefpunkte_M14.mws
- für Maple 15: Media:Hoch_und_Tiefpunkte_M15.mws
Wendepunkte "von Hand" bestimmen
Problemstellung: die Prozedur "Wendepunkte" liefert für trigonometrische Funktionen nur ein Ergebnis. Ursache: Maple erkennt die Periodizität der Funktion, verschweigt diese aber in der Prozedur. Deshalb der folgende Workaround:
Maple 9
- Funktion definieren
> f:=x->1.4*sin((Pi/6.15)*(x-7))+5.2;
- zweite und dritte Ableitung werden gebildet und als f2 und f3 in den Speicher gelegt..
> f1:=D(f):
> f2:=D(f1):
> f3:=D(f2):
- Maple gibt die erste Stelle aus, an der die zweite Ableitung =0 ist.
> solve(f2(x)=0);
7.
- Maple gibt dasselbe nochmal aus, hinter der Stelle steht +Faktor*_Z1, _Z1 ist der Platzhalter für jede ganze Zahl.
_EnvAllSolutions:=true;
> solve(f2(x)=0);
7.+6.150000001*_Z1
- von Hand ausrechnen, welches Ergebnis sich für _Z1=1 (etc.) ergibt, dann hat man die Stellen der weiteren Wendepunkte.
> 7.+6.150000001*1;
13.15000000
- hinreichende Bedingung mit f3 überprüfen (\not 0 heißt =Wendepunkt)
> evalf(f3(7));
-.1866174739
> evalf(f3(13.15));
.1866174739
- x-Werte eingeben, um die y-Werte zu berechnen.
> f(7);
5.2
> f(13.15);
1.4*sin(.9999999999*Pi)+5.2
Worksheet zum Download
Maple 14
- Funktion definieren
> f:=x->1.4*sin((Pi/6.15)*(x-7))+5.2;
- zweite und dritte Ableitung werden gebildet und als f2 und f3 in den Speicher gelegt..
> f1:=D(f):
> f2:=D(f1):
> f3:=D(f2):
- Maple gibt die erste Stelle aus, an der die zweite Ableitung =0 ist.
> solve(f2(x)=0);
7.
- Maple gibt dasselbe nochmal aus, hinter der Stelle steht +Faktor*_Z1, _Z1 ist der Platzhalter für jede ganze Zahl.
> solve(f2(x)=0,AllSolutions=true);
7.+6.150000001*_Z1
- von Hand ausrechnen, welches Ergebnis sich für _Z1=1 (etc.) ergibt, dann hat man die Stellen der weiteren Wendepunkte.
> 7.+6.150000001*1;
13.15000000
- heinreichende Bedingung mit f3 überprüfen (\not 0 heißt =Wendepunkt)
> evalf(f3(7));
-.1866174739
> evalf(f3(13.15));
.1866174739
- x-Werte eingeben, um die y-Werte zu berechnen.
> f(7);
5.2
> f(13.15);
1.4*sin(.9999999999*Pi)+5.2
Worksheet zum Download
Schnittpunkte "von Hand" bestimmen
die Problemstellung ist dieselbe wie bei den Wendepunkten "von Hand": mit trigonometrischen Funktionen kommt die Prozedur nicht zurecht.
Maple 9
>_EnvAllSolutions:=true
>solve(sin(x)=0.5)
.523+2.094*_B1+6.283*_Z1
zur Bedeutung von _Z1 und _B1 siehe hier.
Maple 14
>solve(sin(x)=0.5, AllSolutions=true) .523+2.094*_B1+6.283*_Z1
zur Bedeutung von _Z1 und _B1 siehe hier.
Regression:
Lösung mit Maple 9.x
>restart;
> with(stats): with(statplots): with(plots):
Warning, these names have been redefined: anova, describe, fit, importdata, random, statevalf, statplots, transform
Warning, these names have been redefined: boxplot, histogram, scatterplot, xscale, xshift, xyexchange, xzexchange, yscale, yshift, yzexchange, zscale, zshift
Warning, the name changecoords has been redefined
>xwerte:=[1,2,4,5,6]; ywerte:=[.5,1,1.5,3,4];
>reg:=fit[leastsquare[[x,y],y=a*x^3+b*x^2+cx+d]]([xwerte,ywerte]);
>f:=eval(rhs(reg));
>punkte:=scatterplot(xwerte,ywerte, color=black, symbol= cross, labels=["x","y"]):
>kurve:=plot(f,x=0..8,color=red):
>display([punkte,kurve]);
Hinweis: So lassen sich Polynom-Regressionen beliebigen Grades durchführen. Exponentielle oder sinusförmige Regressionen gehen so leider nicht!!! y=a*b^x ; ln auf beiden Seiten dieser Gleichung liefert: ln(y)=ln(a)+x*ln(b) Eine lineare Regression liefert also ln(a) und ln(b).
Ab Maple 10 wäre das Thema Regression durch den Befehl Fit im Paket Statistics sehr einfach!!!
Worksheet zum Download
Lösung mit Maple 14
Am Beispiel einer Gleichung dritten Grades:
restart;
with(Statistics):
X := [1, 2, 4, 5, 6];
Y := [.5, 1, 1.5, 3, 4];
Fit(a*x^3+b*x^2+c*x+d, X, Y, x);
f := convert(%, fraction);
ScatterPlot(X, Y, fit = [a*x^3+b*x^2+c*x+d, x]):gwp(%);
Das "convert(%, fraction)" dient in diesem Fall der bessern Übersicht über das Ergebnis. Man beachte die Vereinfachung im Plotbefehl!
Einen Regressionskoeffizienten wie im GTR kann Maple nicht ausgeben, behelfen kann man sich mit dem Aufruf der Option "residualmeansquare":
Fit(a*x^3+b*x^2+c*x+d, X, Y, x, output=residualmeansquare);
Je näher der so berechnete Wert an 0 liegt, desto genauer passt die errechnete Gleichung zu den Tabellenwerten.
Zip-File zum Download
Dieses ZIP enthält Worksheets zur Regression für folgende Funktionstypen:
- Geradenfunktionen
- Funktionen 2. Grades
- Funktionen 3. Grades
- Funktionen 4. Grades
- sin-Funktionen
- ExponenteialFunktionen
Stochastik
- Fakultät: analog zur Standardschreibweise, z. B. 6!
- Binomialkoeffizient [math]\displaystyle{ n \choose k }[/math]: binomial (n,k)
Normalen mit Maple bestimmen
Was der GTR per Knopfdruck kann, ist hier als Worksheet umgesetzt. Damit wird zum Bestimmen der Normalengleichung nur noch die Funktionsgleichung und die Stelle der Normalen benötigt.
Vektoren
siehe Seite Vektoren
seltsame Ergebnisse
bei einigen Rechenoperationen kann es zu unerwarteten Ausgaben kommen. Diese "seltsamen Ergebnisse" sind hier dokumentiert. In der Regel kann man Maple mit Hilfe von about() eine Antwort entlocken.
I
Eine leichte Aufgabe für Maple:
>solve(x^2=-25);
5*I, -5*I
>about(I)
I:
All numeric values are properties as well as objects. Their location in the property lattice is obvious, in this case complex(extended_numeric).
Heißt: Maple hat hier eine Lösung gefunden, diese ist aber in der Menge der komplexen Zahlen zu finden. Da sich die Mathematik in der Schule nur in der Menge der reellen Zahlen abspielt, kann man diese Antworten in der Regel getrost ignorieren.
Übrigens: fsolve bringt hier keine Antwort.
_Z1
oder auch _Z2, _Z3 und so weiter.
Beispiel: Schnittpunkte der Sinus- und der Cosinusfunktion suchen
>solve(sin(x)=cos(x), AllSolutions=true);
1/4*Pi+Pi*_Z1
so als Ergebnis zu bekommen bei der Überschrift Wendepunkte "von Hand" bestimmen auf dieser Seite.
>about(_Z1);
Originally _Z1, renamed _Z1~: is assumed to be integer
Heißt: Maple gibt aus "Du wolltest ja alle Lösungen haben (AllSolutions=true), dann setze für _Z1 die dir passende Zahl aus der Menge der ganzen Zahlen ein." - sprich, Maple verweist auf die Periodizität einer Lösung.
_B1
Beispiel: An welchen Stellen ist der Sinus von x=0,5
>solve(sin(x)=0.5, AllSolutions=true);
.523+2.094*_B1+6.283*_Z1
about(_B1);
Originally _B1, renamed _B1~: is assumed to be OrProp(0,1)
Heißt: Maple gibt wie bei _Z1 aus "Du wolltest ja alle Lösungen haben (AllSolutions=true), dann setze für _Z1 die dir passende Zahl aus der Menge der ganzen Zahlen ein. Und _B1 kann den Wert 0 oder den Wert 1 annehmen" - Maple verweist auch hier auf die Periodizität einer Lösung.