GTR - Maple Tabelle: Unterschied zwischen den Versionen
Zeile 107: | Zeile 107: | ||
> with(linalg): | > with(linalg): | ||
==Matrix eingeben | ==Matrix eingeben== | ||
> A:=matrix([[1,2,3],[-1,2,-3],[4,5,6]]); | > A:=matrix([[1,2,3],[-1,2,-3],[4,5,6]]); |
Version vom 7. März 2012, 13:24 Uhr
Einige Rechenbefehle
5 durch 7
>5/7;
Wurzel aus 14
>sqrt(14);
>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);
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;
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);
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];
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.
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
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);
Hoch und Tiefpunkte bestimmen - eine Alternative zur Prozedur
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;
Hoch und Tiefpunkte bestimmen
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.
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
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);
Bogenmaß - Winkelmaß
Worksheet zu den Abschnitten 2. bis 5.5
Hier befindet sich das ganze noch als Worksheet zu ausprobieren.
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!!!
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
Worksheet zum Download
Media:Einige_Maple_Befehle.mws Mit Firefox bitte mit rechter Maustaste herrunterladen.
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.
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
1. Funktion definieren
> f:=x->1.4*sin((Pi/6.15)*(x-7))+5.2;
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):
3. Maple gibt die erste Stelle aus, an der die zweite Ableitung =0 ist.
> solve(f2(x)=0);
7.
4. 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
5. 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
6. heinreichende Bedingung mit f3 überprüfen (\not 0 heißt =Wendepunkt)
> evalf(f3(7));
-.1866174739
> evalf(f3(13.15));
.1866174739
7. 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
1. Funktion definieren
> f:=x->1.4*sin((Pi/6.15)*(x-7))+5.2;
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):
3. Maple gibt die erste Stelle aus, an der die zweite Ableitung =0 ist.
> solve(f2(x)=0);
7.
4. 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
5. 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
6. heinreichende Bedingung mit f3 überprüfen (\not 0 heißt =Wendepunkt)
> evalf(f3(7));
-.1866174739
> evalf(f3(13.15));
.1866174739
7. x-Werte eingeben, um die y-Werte zu berechnen.
> f(7);
5.2
> f(13.15);
1.4*sin(.9999999999*Pi)+5.2