[Maple OLE 2.0 Object]

5. Prozeduren verwenden

Die Prozeduren der Worksheets sind in einzelnen Paketen zusammengefasst, die im Initialisierungsteil jeweils aus der Bibliothek "MAPLE.LIB" geladen werden. Letztere liegt im Verzeichnis "/LIB/" im Binärcode vor. Änderungen an den Routinen können daher auf verschiedene Arten erfolgen. Auf drei Vorgehensweisen soll im folgenden eingegangen werden:

1. Lokale Änderung auf dem Worksheet unter Einschluss der Initialisierung

Gehen Sie dazu bitte wie folgt vor:

2. Änderung des Quelltextes mit anschließender Compilation

Hinweis: Dieses Verfahren ändert die Prozeduren dauerhaft in der Bibliothek und sollte nur von erfahrenen Benutzern angewandt werden. Es wird davon ausgegangen, dass die Quelltexte auf einer Festplatte installiert sind. Änderungen können sonst nicht abgespeichert werden.

Die Quelltexte der Bibliothek finden sich im Verzeichnis "/SRC/< Thema >/" und besitzen die Endung ".MPL". Es handelt sich um reine Textdateien, die mit einem Ascii-Editor wie z.B. Notepad bearbeitet werden können. Die Compilation erfolgt über das Worksheet "MAKE_LIB.MWS" im Verzeichnis "/SRC".

Gehen Sie wie folgt vor:

3. Quelltexte in eigenen Worksheets verwenden

Wenn Sie einzelne Prozeduren benutzen wollen, um damit eigene Worksheets herzustellen und dauerhaft zu verwenden, können Sie die Quelltexte aus der Hilfe zur jeweiligen Prozedur direkt übernehmen. Sie gehen dazu wie unter 1. vor, können aber auf den Initialisierungsteil verzichten, weil Sie ja nicht das ganze Paket verfügbar haben wollen.

Drucken der Bilder einer Animation

Grundsätzlich kann man jede von Maple erzeugte Grafik durch Markieren und Kopieren z.B. in ein Word-Dokument als Bitmap einfügen. Allerdings kopiert Maple bei einer Animation immer nur das erste Bild der Bilderfolge und nicht etwa das aktuelle . Gleiches gilt für den Ausdruck des gesamten Worksheets. Oftmals ist aber der Ausdruck eines bestimmten Bildes der Animation erwünscht. Um dieses Problem zu lösen, müssen Sie den Quelltext der Pozedur ändern oder «viel eleganter» mit Hilfe einer kleine Prozedur oder einem «Trick»das gewünschte Bild extrahieren.

Alle Bilder einer Animation, erstellt mit ANIMATE, drucken

Beispiel: Scharkurve

> restart; with(plots,animate,display):
g:= (k,x) -> x^3-k*x+3; # Funktionsdefinition; k ist der Parameter
k1 := -3: k2:=6: n:=20: # Parametervaration von k1..k2 (Bilderanzahl n)
x1 := -4: x2:=4: # Zeichenbereich x1..x2
y1 := -8: y2:=10: # y-Zeichenbereich y1..y2

> animate(g(k,x),x=x1..x2,k=k1..k2,view=[x1..x2,y1..y2],frames=n);

g := proc (k, x) options operator, arrow; x^3-k*x+3...

[Maple Plot]

Der ANIMATE -Befehl erzeugt einer Bilderserie, die man auch als Überblick erhalten kann. Man muss lediglich den ANIMATE-Befehl nochmals in einen DISPLAY -Befehle einschließen. Das Ergebnis sehen Sie unten. Lassen Sie sich vom Maßstab nicht täuschen.

> display(animate(g(k,x),x=x1..x2,k=k1..k2,view=[x1..x2,y1..y2],frames=n));

[Maple Plot]

Zur Steigerung der Übersicht kann man die Beschriftung der Achsen mit Werten unterdrücken.

> display(animate(g(k,x),x=x1..x2,k=k1..k2,view=[x1..x2,y1..y2],frames=n),title=``,xtickmarks=0,ytickmarks=0);

[Maple Plot]

>

Ein bestimmtes Bild einer Animation, erstellt mit ANIMATE, drucken

Dieser Tipp stammt von Herrn Fisches, Schriesheim
Kopieren Sie die kleine Prozedur namens
auswahl an den Anfang ihres Worksheets:

> auswahl:= proc(nummer,animation)
PLOT(op(op(nummer,op(1,animation))));
end:

Wenn Sie jetzt z.B. aus der in der vorangehenden Sektion gezeigten Animation zum Drucken oder Kopieren auswählen wollen, können Sie dieses nun folgendermaßen erreichen.

> anima:=animate(g(k,x),x=x1..x2,k=k1..k2,view=[x1..x2,y1..y2],frames=n):

> auswahl(18,anima);

[Maple Plot]

>

Alle Bilder einer Animation, erstellt über eine Plotliste, drucken

Dieser Tipp stammt von Herrn Laule, Mannheim

> restart:with(plots,display):

> Sekanten:=proc(f,xl,xr,yu,yo,xs,s)
local ms, sek, sw, para, plotliste, x1, titel, x0, x;
with(plots,display,pointplot,textplot);
ms:=(f(x1)-f(x0))/(x1-x0);
sek:=ms*(x-x0)+f(x0);
sw:=(xr-xl)/s;
titel:=cat("Sekanten durch den Punkt P( ",xs," | f(",xs,") )");
para:=view=[xl..xr,yu..yo],labels=["x","y"];
plotliste:=[];
for x1 from xl to xr by sw do
if x1<>xs then
plotliste:=[op(plotliste),\
display([plot(f(x),x=xl..xr,color=red,para),\
pointplot({[xs,f(xs)]},color=black,symbol=diamond),\
pointplot({[x1,f(x1)]},color=red,symbol=diamond),\
textplot([1.1*xs,1.1*f(xs),`P`],align={ABOVE,RIGHT}),\
plot(subs(x0=xs,sek),x=xl..xr,color=blue,para)])]
fi;
od;
display(plotliste,insequence=true,title=titel);
end:

> f:=x->x^2-2;

> Sekanten(f,-2,2,-3,3,1,20);

f := proc (x) options operator, arrow; x^2-2 end pr...

[Maple Plot]

> display(subs(DEFAULT=NULL,Sekanten(f,-2,2,-3,3,1,20)),\
title=``,tickmarks=[0,0]);

[Maple Plot]

>

Ein bestimmtes Bild einer Animation, erstellt über eine Plotliste, drucken

Dieser Tipp stammt von Herrn Fisches, Schriesheim
Kopieren Sie die kleine Prozedur namens
auswahl an den Anfang ihres Worksheets:

> auswahl:= proc(nummer,animation)
PLOT(op(op(nummer,op(1,animation))));
end:

Wenn Sie jetzt z.B. aus dem Worksheet "Grafisches Differenzieren" das sechste Bild der Animation Sekanten zum Drucken oder Kopieren auswählen wollen, können Sie dieses nun folgendermaßen erreichen. Falls Sie die Prozedur nicht schon mittels "with(grafdiff);" geladen haben, kopieren Sie bitte die Prozedur Sekanten aus der entsprechenden Hilfe in Ihr Worksheet.

> Sekanten:=proc(f,xl,xr,yu,yo,xs,s)
local ms, sek, sw, para, plotliste, x1, titel, x0, x;
with(plots,display,pointplot,textplot);
ms:=(f(x1)-f(x0))/(x1-x0);
sek:=ms*(x-x0)+f(x0);
sw:=(xr-xl)/s;
titel:=cat("Sekanten durch den Punkt P( ",xs," | f(",xs,") )");
para:=view=[xl..xr,yu..yo],labels=["x","y"];
plotliste:=[];
for x1 from xl to xr by sw do
if x1<>xs then
plotliste:=[op(plotliste),\
display([plot(f(x),x=xl..xr,color=red,para),\
pointplot({[xs,f(xs)]},color=black,symbol=diamond),\
pointplot({[x1,f(x1)]},color=red,symbol=diamond),\
textplot([1.1*xs,1.1*f(xs),`P`],align={ABOVE,RIGHT}),\
plot(subs(x0=xs,sek),x=xl..xr,color=blue,para)])]
fi;
od;
display(plotliste,insequence=true,title=titel);
end:

> f:=x->x^2-2;
Sekanten(f,-2,2,-3,3,1,20);

f := proc (x) options operator, arrow; x^2-2 end pr...

[Maple Plot]

Beachten Sie, dass das erste Bild die Nummer 0 hat!

> auswahl(5,%);

[Maple Plot]

>

zurück zur Startseite