Erste Schritte mit Maple

>    restart;

Formeln, Zuweisungen, Funktionen

Ausdrücke sind die zentrale Datenstruktur in Maple - hier ein Beispiel:

>    cos(x)^5 +sin(x)^4 +2*cos(x)^2 -2*sin(x)^2 -cos(2*x);

cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)

Oder das Symbol a:

>    a;

a

Jeder Ausdruck kann einer Variablen zugewiesen werden (d.h. mit einem Namen versehen):

>    a := cos(x)^5 +sin(x)^4 +2*cos(x)^2 -2*sin(x)^2 -cos(2*x);

a := cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)

Ein mit Semikolon abgeschlossener Ausdruck als Eingabe bewirkt die Auswertung (i.d.R. so weit wie möglich) und die Ausgabe des Ergebnisses:

>    a+2;

cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)+2

Ein Doppelpunkt anstelle des Semikolons unterdrückt die Ausgabe (was insbesondere bei längeren Zuweisungen sehr hilfreich ist):

>    a+2:

Maple kann Ausdrücke umformen, z.B. weiß es einiges über Trigonometrie:

>    simplify(a);

cos(x)^4*(cos(x)+1)

Es kann Bilder malen:

>    plot(a,x=0..2*Pi);

[Maple Plot]

Ableiten:

>    diff(a,x);

-5*cos(x)^4*sin(x)+4*sin(x)^3*cos(x)-8*cos(x)*sin(x)+2*sin(2*x)

>    diff(a,x,x);

20*cos(x)^3*sin(x)^2-5*cos(x)^5+12*sin(x)^2*cos(x)^2-4*sin(x)^4+8*sin(x)^2-8*cos(x)^2+4*cos(2*x)
20*cos(x)^3*sin(x)^2-5*cos(x)^5+12*sin(x)^2*cos(x)^2-4*sin(x)^4+8*sin(x)^2-8*cos(x)^2+4*cos(2*x)

Integrieren:

>    int(a,x);

1/5*cos(x)^4*sin(x)+4/15*cos(x)^2*sin(x)+8/15*sin(x)-1/4*sin(x)^3*cos(x)+13/8*cos(x)*sin(x)+3/8*x-1/2*sin(2*x)
1/5*cos(x)^4*sin(x)+4/15*cos(x)^2*sin(x)+8/15*sin(x)-1/4*sin(x)^3*cos(x)+13/8*cos(x)*sin(x)+3/8*x-1/2*sin(2*x)

Zum Überprüfen, ob Maple auch etwas sinnvolles tut, einmal integrieren und anschließend wieder die Ableitung bilden :

>    diff(int(a,x),x);

-4/5*cos(x)^3*sin(x)^2+1/5*cos(x)^5-8/15*cos(x)*sin(x)^2+4/15*cos(x)^3+8/15*cos(x)-3/4*sin(x)^2*cos(x)^2+1/4*sin(x)^4-13/8*sin(x)^2+13/8*cos(x)^2+3/8-cos(2*x)
-4/5*cos(x)^3*sin(x)^2+1/5*cos(x)^5-8/15*cos(x)*sin(x)^2+4/15*cos(x)^3+8/15*cos(x)-3/4*sin(x)^2*cos(x)^2+1/4*sin(x)^4-13/8*sin(x)^2+13/8*cos(x)^2+3/8-cos(2*x)

Mit % wird auf das zuletzt berechnete Ergebnis zurückgegriffen - und siehe da, vereinfacht erhalten wir wieder den Wert des Ausdrucks a:

>    simplify(%);

cos(x)^4*(cos(x)+1)

Man kann in Maple auch eigene Funktionen programmieren. Neben einer Aufschreibung als Prozedur gibt es noch die mittels Pfeil, die eher an die Mathematik erinnert. Die rechte Seite der Zuweisung ist eine Funktion, sie wird durch die Zuweisung mit dem Namen f versehen.

>    f := x -> cos(x) - 3*sin(x);

f := proc (x) options operator, arrow; cos(x)-3*sin(x) end proc

>    f(1);

cos(1)-3*sin(1)

>   

Hilfe

Maple verfügt über eine umfangreiche Online-Hilfe:

>    ?diff

Besonders hervorgehoben sei dabei die "New User's Tour" - eine sehr gute Stelle, um Maple kennenzulernen.

>   

Substitution, Auswertung

Zum Einsetzen in eine Formel gibt es die Funktion subs() mit einer oder mehreren Gleichungen (auch erlaubt: Mengen und Listen von Gleichungen) und einem Ausdruck; das Ergebnis entsteht, indem im Ausdruck alle Vorkommen der linken Seiten der Gleichungen durch die zugehörige rechten Seiten ersetzt werden:

>    a;

>    a2 := subs(x=2,a);

cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)

a2 := cos(2)^5+sin(2)^4+2*cos(2)^2-2*sin(2)^2-cos(4)

Wenn wir von Maple ein nicht exaktes Resultat sehen wollen, müssen wir das (meistens) ausdrücklich sagen:

>    evalf(a2);

.175101559e-1

Das geht dafür dann gleich auf beliebig viele Stellen genau:

>    evalf(a2, 500);

.17510156511114463227667938646158929904252648494103600593810464574126592600458077102721191096374403260100665120741585527935252084755127553480517074163660001908673982904711664540234552299590611889249530...
.17510156511114463227667938646158929904252648494103600593810464574126592600458077102721191096374403260100665120741585527935252084755127553480517074163660001908673982904711664540234552299590611889249530...
.17510156511114463227667938646158929904252648494103600593810464574126592600458077102721191096374403260100665120741585527935252084755127553480517074163660001908673982904711664540234552299590611889249530...
.17510156511114463227667938646158929904252648494103600593810464574126592600458077102721191096374403260100665120741585527935252084755127553480517074163660001908673982904711664540234552299590611889249530...
.17510156511114463227667938646158929904252648494103600593810464574126592600458077102721191096374403260100665120741585527935252084755127553480517074163660001908673982904711664540234552299590611889249530...
.17510156511114463227667938646158929904252648494103600593810464574126592600458077102721191096374403260100665120741585527935252084755127553480517074163660001908673982904711664540234552299590611889249530...
.17510156511114463227667938646158929904252648494103600593810464574126592600458077102721191096374403260100665120741585527935252084755127553480517074163660001908673982904711664540234552299590611889249530...

>   

Gleichungen lösen

Die Funktion solve() löst für uns Gleichungen und Gleichungssysteme. Parameter sind eine Menge von Gleichungen und eine Menge von Unbekannten (hier haben wir von beidem nur je eins, da wären die Mengenklammern  nicht nötig):

>    solve({x^2=4},{x});

{x = 2}, {x = -2}

>    eq := {x^2=4}; v := {x}; lsg := solve(eq,v);

eq := {x^2 = 4}

v := {x}

lsg := {x = 2}, {x = -2}

Zur Weiterverarbeitung kann man z.B. die erste der beiden Lösungen auswählen...

>    l1 := lsg[1];

l1 := {x = 2}

>    l1;

{x = 2}

... und mittels folgender Substitution an den Wert von x kommen:

>    subs(l1, x);

2

>   

Differentialgleichungen

Viele Differentialgleichungen löst Maple für uns mit ganz ähnlichen Funktionen wie für algebraische Gleichungen. Zum Aufschreiben der Gleichung erinnern wir uns daran, dass diff() differenziert:

>    dgl := {diff(y(t),t,t) + 5*diff(y(t),t) + 6*y(t) = 0};

dgl := {diff(y(t),`$`(t,2))+5*diff(y(t),t)+6*y(t) = 0}

Zum Lösen werden wir meist Randbedingungen vorgeben wollen:

>    rb := {y(0) = 0, y(1) = 1};

rb := {y(0) = 0, y(1) = 1}

Gleichung und Randbedingungen kommen in einen Topf (pardon: eine Menge), die Menge der Unbekannten ist hier ein 'unevaluated function call' (es ist noch keine Funktion y definiert):

>    lsg := dsolve(dgl union rb, {y(t)});

lsg := y(t) = 1/(exp(-2)-exp(-3))*exp(-2*t)-1/(exp(-2)-exp(-3))*exp(-3*t)

Das verleitet uns zu folgendem voreiligem Versuch:

>    plot(y(t),t=0..1);

Warning, unable to evaluate the function to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct

Plotting error, empty plot

Es hat ja auch noch niemand eine Funktion y definiert:

>    y(t);

y(t)

Das tun wir jetzt. Erst holen wir uns die rechte Seite der Lösung:

>    lsg2 := subs(lsg, y(t));

lsg2 := 1/(exp(-2)-exp(-3))*exp(-2*t)-1/(exp(-2)-exp(-3))*exp(-3*t)

Die kann man zwar schon malen...

>    plot(lsg2, t=0..1);

[Maple Plot]

... aber eine Funktion ist es nicht. Folgendes funktioniert nicht, da die rechte Seite des -> nicht ausgewertet wird:

>    y := t->lsg2;

y := proc (t) options operator, arrow; lsg2 end proc

Aber die Funktion unapply hilft weiter (sie implementiert nämlich das lambda -Kalkül!):

>    y := unapply(lsg2, t);

y := proc (t) options operator, arrow; 1/(exp(-2)-exp(-3))*exp(-2*t)-1/(exp(-2)-exp(-3))*exp(-3*t) end proc

>    plot(y(t),t=0..1);

[Maple Plot]

Pakete (LinearAlgebra, plots, ...)

Es gibt eine ganze Reihe wichtiger Pakete, beispielsweise das Paket "LinearAlgebra", das Methoden und Datentypen für lineare Algebra zusammenfasst. Hilfe dazu gibt es mit:

>    ?LinearAlgebra

Eine Diagonalmatrix kann dann beispielsweise erstellt werden mit:

>    A := LinearAlgebra[DiagonalMatrix]([1,2,3]);

A := Matrix(%id = 21143296)

Möchte man nicht jedes Mal den Paketnamen angeben so gibt es die Möglichkeit, alle Methoden eines Pakets in den aktuellen Namespace zu importieren:

>    with(LinearAlgebra);

[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnS...

>    A := DiagonalMatrix([1,2,3]);

A := Matrix(%id = 22687432)

Die Eigenwerte von A sind trivialerweise:

>    Eigenvalues(A);

Vector(%id = 23636696)

Mit dem zusätzlichen Vektor b  kann das Gleichungssystem Ax = b  gelöst werden:

>    b := Vector([1,1,1]);

b := Vector(%id = 22963420)

>    LinearSolve(A,b);

Vector(%id = 694664)

Und noch ein Paket, das sehr oft benötigt wird: Das Paket plots , das einiges zum bunten Malen von Funktionen/Bildern/... enthält:

>    with(plots);

Warning, the name changecoords has been redefined

[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, displ...

Auch Plots können nicht nur sofort ausgegeben werden:

>    plot(sin(x),x=0..Pi);

[Maple Plot]

Sie können auch einer Variablen zugewiesen und damit für spätere oder häufigere Benutzung "aufgehoben" werden:

>    p1 := plot(sin(x),x=0..Pi);

p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...
p1 := INTERFACE_PLOT(CURVES([[0., 0.], [.684777793307255884e-1, .684242741385021475e-1], [.128059928977693498, .127710199366321970], [.195066287758211000, .193831565987375304], [.262516808180141448, .2...

Damit der Sinus nicht so alleine ist zeichnen wir auch noch den Cosinus und speichern das Ergebnis in p2  ab. Dieses Mal praktischer Weise mit Doppelpunkt um die Ausgabe zu unterdrücken:

>    p2 := plot(cos(x),x=0..Pi):

Mit  aus dem Paket plots können wir nun beide gleichzeitig darstellen:

>    display([p1,p2]);

[Maple Plot]

Und noch etwas Buntes zum Schluss:

>    plot3d(sin(x+y), x=-1..1, y=-1..1, axes=boxed);

[Maple Plot]

>   

>   

>