MathPlot V1.04

\begin{matrix}c \\ ◯ \end{matrix}by Rüdiger Dreier 1991

25. November 1991

MathPlot ist SHAREWARE

Inhaltsverzeichnis

I Einleitung 3

1 Wichtiger Hinweis 3 1.1 Weitergabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Sharegebühr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Quelltext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Anwendungsbereich 4

3 Anforderungen an die Rechnerkonfiguration 4

II Die Menupunkte: 6

4 Projekt 6 4.1 Neu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 IFF Save as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 Funktionen laden/speichern . . . . . . . . . . . . . . . . . . . . . 6 4.4 Macros laden/speichern . . . . . . . . . . . . . . . . . . . . . . . 6 4.5 Konstanten laden/speichern . . . . . . . . . . . . . . . . . . . . . 6 4.6 Farben laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.7 Drucken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.8 Iconify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.9 About . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.10 ENDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 Zeichnen 7 5.1 Funktion ändern . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2 Funktion, 1./2. Ableitung num/symb . . . . . . . . . . . . . . . . 7 5.3 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5.3.1 WICHTIG . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.4 Num. Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6 Bearbeiten 10 6.1 Achsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.2 Zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.3 Text einfügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.4 Genauigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.5 Intervall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.6 Konstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.7 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.8 HP–Ausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

III Optionen und Eingabeformate 13

7 Funktionsterme 13 8 Optionen 13

IV Einige Bemerkungen 15

9 Bekannte Fehler 15 10 Seltsames Verhalten 15

V Tutorial 16

11 Einleitung 16 12 Vorbereitungen 16 13 Eingeben der Funktionen 17

13.1 Eingabe der Macros . . . . . . . . . . . . . . . . . . . . . . . . . 17 13.2 Eingabe der Funktionen . . . . . . . . . . . . . . . . . . . . . . . 17

14 Eingabe des Intervalls 18 15 Zeichnen der Funktionen 18 16 Ändern des Bereiches 18 17 Diskussion 18

VI Abschluß 18

18 Schlußwort 18

Teil I

Einleitung

1 Wichtiger Hinweis

Der Autor übernimmt keinerlei Haftung für Schäden, die aus der sach– oder unsachgemässen Benutzung des Programms entstehen !! Weiterhin wird keine Haftung für die Fehlerfreiheit des Programms übernommen !! Benutzung auf eigene Gefahr !

MathPlot ist SHAREWARE.

1.1 Weitergabe

Diese Version des Programms ist eine Demoversion mit leichten Einschränkungen. Sie darf unter folgenden Bedingungen weitergegeben werden:

1. Der Copyrighttext darf nicht verändert worden sein.

2. Es darf mit dem Programm kein Geld verdient werden (also nur Kosten für Porto, Material und eine kleine Gebühr für die Abnutzung der Kopieranlage, Strom etc.)

3. Das Programmpaket darf nicht verändert worden sein.

4. Das Programmpaket muß vollständig sein, also sämtliche Anleitungen und eine lauffähige Version von MathPlot sowie eine Version der mtool.library müssen zusammen weitergegeben werden.

5. Will jemand MathPlot (oder einen Teil davon) oder die mtool.library (oder einen Teil davon) kommerziell nutzen (z.B. in eine sogenannte ”PD– Disk–Serie“ mit einem Verkaufspreis über DM 5,– je Diskette aufnehmen), so ist dafür die schriftliche Genehmigung des Autors nötig.

6. Es ist erlaubt, die Textdateien in andere Sprachen zu übersetzen und zusammen mit diesem Programm weiterzugeben.

1.2 Sharegebühr

Wird dieses Programm regelmäßig benutzt, so ist die Sharegebühr zu bezahlen. Sie beträgt DM 30,– oder $ 20,– und ist unter Angabe des Programmnamens und der Programmversion (möglichst auch wo man sie gefunden hat) an die unten stehende Adresse zu senden. Dafür erhält man 1. Die neuste Version von Math-Plot (Vollversion). Diese Version darf nicht

weitergegeben werden.

2. Eine gedruckte Anleitung (diese hier, bitte angeben, ob Deutsch oder Englisch).

3. Updateservice. Neuere Versionen können (falls vorhanden) gegen Einsendung einer Leerdiskette, Rückporto und Umschlag unter Angabe der Registriernummer angefordert werden. Bitte die vorhandene Version angeben. Sollte keine neuere Version vorliegen, oder die Veränderungen zu minimal sein, werde ich mit der Antwort warten, bis entsprechende Veränderungen vorhanden sind.

1.3 Quelltext

Der Quelltext ist nicht frei kopierbar und ist nur gegen Bezahlung erhältlich. Die Gebühr hierfür beträgt ebenfalls DM 30,– oder $ 20,–. Der Quelltext darf nicht weitergegeben oder (ohne schriftliche Genehmigung) kommerziell genutzt werden. Der Quelltext ist nur für registrierte Benutzer erhältlich.

2 Anwendungsbereich

MathPlot ist ein Programm zum Zeichnen zweidimensionaler mathematischer Funktionen. Es können bis zu 10 Funktionen eingegeben und gezeichnet werden. Zusätzlich kann man sich von jeder Funktion die erste und zweite Ableitung zeichnen lassen (jeweils nummerisch oder symbolisch bestimmt). Weiterhin sucht das Programm Nullstellen, Extrema und Wendestelle. Nummerische Integration ist möglich. MathPlot eignet sich zur Unterstützung bei Kurvendiskussionen, um die selbst errechneten Ergebnisse zu kontrollieren.

3 Anforderungen an die Rechnerkonfiguration

Das Programm läuft nur unter Kickstart 2.0 und höher ! 512 kB Speicher sollten eigentlich ausreichen, für große Screens ist 1MB Chip–Ram nicht schlecht. Der Stack sollte mindestens 20000 Bytes betragen, sonst kommt es zu leicht zu Abstürzen. Im logischen Device LIBS: müssen sich vier Libraries befinden:

1. mathieeedoubbas.library

2. mathieeedoubtrans.library

3. asl.library

4. mtool.library (in diesem Ordner enthalten)

Und in S: sollten sich befinden (Nicht unbedingt nötig): 1. Funktionen, einige vordefinierte Funktionen.

2. Colour, Die Farbdaten des Programms.

3. MPlotDef.info, dieses Icon wird für Iconify und die Iff-Daten benutzt.

Teil II

Die Menupunkte:

4 Projekt

4.1 Neu

Nach einer Sicherheitsabfrage wird der Bildschirm gelöscht. Geschieht automatisch beim Verändern der Intervallgrenzen. Eine evt. vorhandene HP– Plotausgabe wird abgeschlossen (siehe Kapitel 6.8).

4.2 IFF Save as

Dieser Menupunkt benutzt die ILBM.library. Ist sie nicht vorhanden, so erscheint ein Requester. Ist sie vorhanden, so wird nach dem Namen des Files gefragt und der Bildschirm abgespeichert. Sollte ein Fehler aufgetreten sein, so erscheint ein Requester. Falls das File s:MPlotDef.info existiert, wird dessen Icon als Icon für das File benutzt.

4.3 Funktionen laden/speichern

Nach Eingabe eines Namens wird die entsprechende Datei geladen. Die in der Datei enthaltenen Zeilen werden als Funktionen interpretiert, bzw. die aktuellen Funktionen werden gespeichert. Das Demo–File zeigt, wie die Funktionen anzuordnen sind.

4.4 Macros laden/speichern

Nach Eingabe eines Names wird die entsprechende Datei als Macrodefinition geladen bzw. werden die aktuellen Macros abgespeichert.

4.5 Konstanten laden/speichern

Siehe (4.4). Hier allerdings mit Konstanten.

4.6 Farben laden

Der Name einer Datei wird abgefragt, die als Farbdatei geladen werden soll. Das Demo–File enthält ebenfalls alle nötigen Daten. Alle Dateien müssen mit einem Return (0x0a) abgeschlossen sein. Die meisten Editoren machen das automatisch.

4.7 Drucken

Der Screen wird auf einem Preferences–Drucker ausgegeben. Während des Druckvorgangs ändert sich die Farbe des Screens. Eine HP–Ausgabe wird abgeschlossen (siehe Kapitel 6.8).

4.8 Iconify

Der Screen wird geschlossen und auf der Workbench erscheint ein Icon für das Programm. Ein Doppelklick auf das Icon startet das Programm wieder. Die alten Funktionen etc. sind noch erhalten. Sollte nicht genügend Speicher vorhanden sein, um einen Screen zu öffnen, so wird das Programm beendet. Als Icon wird die Datei S:MPlotDef benutzt. Ist sie nicht vorhanden, so arbeitet diese Option nicht.

4.9 About

Es werden Informationen über das Programm (Versionsnummer) und den Autor angezeigt. Das Fenster kann mit der Maus (das Gadget anwählen) oder durch einen beliebigen Tastendruck geschlossen werden.

4.10 ENDE

Nach einer Sicherheitsabfrage wird das Programm beendet (natürlich nur, falls die Sicherheitsabfrage entsprechend beantwortet wurde).

5 Zeichnen

5.1 Funktion ändern

Nach Anwahl dieses Menupunktes erscheint ein Untermenu mit den bisher eingegebenen Funktionen (es werden die ersten 14 Zeichen jeder Funktion angezeigt). Wird eine dieser Funktionen angewählt, so erscheint sie in einem Fenster, so daß sie verändert werden kann. Die Funktion muß mathematisch korrekt eingegeben werden (siehe Kapitel 7). Wenn unpaarige Klammern vorhanden sind, erscheint das Fenster gleich wieder, damit man die Funktion korrigieren kann. Die veränderte Funktion wird mit <RETURN> oder durch Anwahl von Fertig übernommen; wird Cancel angewählt, so wird die ursprüngliche Funktion weiter verwendet. Bitte alles in Kleinbuchstaben eingeben.

5.2 Funktion, 1./2. Ableitung num/symb

Bei jedem dieser 5 Menupunkte erscheint wieder das oben beschriebene Untermenu. Durch Anwahl eines Untermenupunktes kann man dann bestimmen, welche Funktion man gezeichnet haben will. Numerische Ableitungen werden nach dem Sekantenverfahren bestimmt, dabei können schon in der ersten Ableitung Ungenauigkeiten auftreten, die in der zweiten Ableitung dann schon recht deutlich werden. Beim symbolischen Ableiten wird erst die Ableitung als Term bestimmt und dann normal gezeichnet. Dabei kommt es dann nach Anwahl der Funktion zu einer kurzen Verzögerung, in der die Ableitung bestimmt wird. Diese Methode ist genauer, hat aber auch ihre Nachteile:

• Das Bilden der Ableitung ist ein rekursiver Vorgang. Der Stack sollte daher ausreichend (mind. 20000 Bytes) sein. Kommt es zu unerklärlichen Abstürzen, sollte man ihn noch weiter erhöhen.

• Einige der verwendbaren Funktionen sind nicht ohne weiteres abzuleiten. Die Ableitung von sgn ist z.B. fast überall Null, nur um Null herum ist sie nicht definiert. Das Programm setzt dafür aber einfach Null ein.

• Außerdem wird z.B. die Ableitung von ln zu 1/x bestimmt und auch so gezeichnet, d.h. auch im negativen Bereich gezeichnet, obwohl ln dort überhaupt nicht definiert ist.

Stellt das Programm beim Zeichnen einen mathematischen Fehler fest (z.B. Wurzel aus einer negativen Zahl), so erscheint nach dem Zeichnen ein Requester, der einen auf einen Fehler in der Formel aufmerksam macht. Für den Fehler wird eine Nummer angegeben. Diese Nummer setzt sich additiv aus den in Tabelle (2) angegebenen Fehlercodes zusammen. Eine Reihe von Vorgängen (Zeichnen, Diskussion, Ersetzen von Macros) kann abgebrochen werden. Dies ist immer dann der Fall, wenn ein Fenster mit einem Gadget Aktion stoppen erscheint. Ein Mausklick auf dieses Gadget bricht den aktuellen Vorgang so schnell wie möglich ab.

5.3 Diskussion

Unter diesem Menupunkt kann man sich eine grobe Kurvendiskussion erstellen lassen (Nullpunkte, Wendepunkte und Extrempunkte). Diese Punkte werden nur für das eingegebene Intervall bestimmt. Außerdem wird die Funktion sowie die erste und zweite Ableitung angezeigt. Bei Extremstellen wird angegeben, ob es ein Minimum oder Maximum ist, bei Wendestellen, ob es eine rechts–links ”Kurve“ oder umgekehrt ist. Vorher wird man noch gefragt, ob das Programm nach jedem Abschnitt stoppen soll. Falls ja, wird man nach jedem Abschnitt gefragt, ob der Bildschirm erst gelöscht werden soll. Nochmal zu den symbolischen Ableitungen: Eingefleischten Mathematikern mag bei einigen der Ableitungen die Haare zu Berge stehen. Zum Einen ist es mit der Vereinfachung der Terme (noch) nicht sehr weit her (Immerhin: 0*irgendetwas wird nicht angezeigt, wohl aber (1-1)*irgendetwas …).

Tabelle 1: Die verwendeten Ableitungen

1.  + − ∗/ Das übliche
2.  x^{a} a ∗ x^{(a−1)}
3.  a^{x} a^{x} ∗ ln a
4.  f(x)^{g(x)} (g(x) ∗ ln(f(x)))′ ∗ f(x)^{g(x)}
5. trigonometr. Funktionen Das übliche
6.  abs(x) sgn(x) (Für x=0 nicht richtig)
7.  int(x) 0 (Läßt sich drüber diskutieren)
8.  sgn(x) 0 (Läßt sich drüber diskutieren)

Aber auch rein mathematisch wird manchmal geschummelt. Die verwendeten Funktionen sind in der Tabelle 1 aufgeführt. Das Programm macht nicht deutlich, wenn eine nicht ganz korrekte Ableitung benutzt wird. Im Zweifelsfall die nummerisch bestimmte Ableitung mit der symbolisch bestimmten vergleichen, sie sollten identisch sein. (Ausnahme: z.B. bei ln(x), siehe oben). Jeder Diskussionsabschnitt kann durch einen Mausklick in das oben beschriebene Gadget abgebrochen werden.

5.3.1 WICHTIG

Ich übernehme keinerlei Verantwortung für die Richtigkeit der Ableitungen oder anderer Ergebnisse dieses Programms ! Nie blind auf die Ergebnisse vertrauen, lieber nochmal von Hand nachrechnen !!!!

5.4 Num. Integration

Hier können Sie eine Funktion nummerisch Integrieren lassen. In dem erscheinenden Fenster wird die angewählte Funktion angezeigt (sie kann hier auch noch verändert werden !), außerdem werden Start und Ende des Integrationsbereiches abgefragt. Schließlich muß man noch angeben, in wievielen Schritten gearbeitet werden soll. Meist gilt: je mehr Schritte, desto besser. Die Integration startet man mit Fertig oder <RETURN> im letzten Gadget, das Ergebnis wird in dem einem Textgadget angezeigt, Fehler im anderen Textgadget (Bedeutung der Fehlercodes, siehe Tabelle 2). Das Fenster schließt man durch Anwahl von Quit. Vorher können aber beliebig viele Integrationen für die eine Funktion durchgeführt werden.

Tabelle 2: Fehlercodes

DIVBYZERO  1 Es wurde durch 0 geteilt
LOGNEG  2 Es wurde von Zahl ¡= 0 der Log gebildet
SQRTNEG  4 Es wurde von Zahl ¡0 die Wurzel gebildet
ATRIG  8 Es wurde von Zahl ¿1 oder ¡-1 asin/acos gebildet
UNPAKLAM  16 Unpaarige Klammern
TEST  32 Wird nicht benutzt
NOFUNC  64 Keine Funktion eingegeben
NO KONST  128 Keine solche Konstante
NO MEM  256 Kein Speicher für weiteren Block
POWERROR 512 Negative Zahl hoch Bruch wurde versucht
NO FUNC  1024 Keine Funktion gefunden

6 Bearbeiten

6.1 Achsen

Wurde eine Funktion gezeichnet, so wird nach Anwahl dieses Menupunktes ein Koordinatenkreuz mit Unterteilungen und Beschriftungen gezeichnet. Außerdem wird angezeicht, in welchen Einheiten die Achsen unterteilt sind. Ist also eine Achse von -1 bis 1 unterteil und ist für diese Achse als Einheit 10 ↑ angegeben, so stellt die Achse das Intervall [0.1 , 10] dar.

6.2 Zoom

Dieser Menupunkt stellt eine Art Lupenfunktion zur Verfügung. Das Intervall, das als nächstes gezeichnet werden soll, kann mit der Maus ausgewählt werden. Die obere/linke Ecke wird mit der Maus angefahren, die linke Maustaste gedrückt und gehalten und dann die rechte/untere Ecke ausgewählt und die Maustaste losgelassen. Danach wird der Bildschirm gelöscht. Während die Maustaste gedrückt wird, wird um den momentan ausgewählten Bereich ein Kasten gezeichnet. Eine evt. vorhandene HP–Plotausgabe wird abgeschlossen (siehe Kapitel 6.8).

6.3 Text einfügen

Es erscheint ein Fenster mit einem Stringgadget, in dem man einen Text eingeben kann. Nach <RETURN> wird dieser Text immer an der aktuellen Mausposition angezeigt und kann so positioniert werden. Nach Druck auf die linke Maustaste erscheint ein Fenster, in dem man die Farbe für den Text auswählen kann (1-4, wenn keine HP-Plotausgabe aktiv ist, sonst 1-8). Nur drei der vier Farben sind auf dem Bildschirm sichtbar, die vierte ist die Hintergrundfarbe.

Wird eine Farbe > 4 angewählt, so wird automatisch für den Bildschirm eine Farbe aus dem Bereich 1 bis 4 gewählt. In der Hp–Ausgabedatei steht natürlich der gewählte Wert.

6.4 Genauigkeit

Es erscheinen 3 SubMenuPunkte, mit denen die Genauigkeit auf klein, mittel oder groß gesetzt werden kann. Je genauer gezeichnet wird, desto mehr Zeit wird benötigt.

6.5 Intervall

Nach Anwahl dieses Menupunktes erscheint ein Fenster mit 4 Stringgadgets, in denen die alten Intervallgrenzen (der Bereich, für den die Funktion gezeichnet werden soll) anzeigt werden. Diese Werte kann man wie gewohnt verändern. Der eingegebene Term muß nur den Anforderungen entsprechen, die auch für die Funktionen gelten (siehe Kapitel 7). Außerdem darf die linke/untere Grenze nicht größer/gleich sein als die rechte/obere. In solchen Fällen erscheint das Fenster nach Anwahl des Fertig–Gadget (oder <RETURN> im vierten Stringgadget) wieder. Weiterhin sind zwei Cycle–Gadgets vorhanden (für jede Achse eins). Hier wird eingegeben, wie die für diese Achse eingegebenen Werte zu interpretieren sind. Zur Verfügung stehen ∗1, ∗e, ∗pi, 10 ↑, e ↑. Beispiel: In den Stringgadgets wurde −1 und 1 eingegeben, das Cycle– Gadgets wird auf 10 ↑ eingestellt. Dann wird der Bereich [0.1 , 10] gezeichnet. Dabei wird die Achse logarithmisch und nicht linear dargestellt. Eine evt. vorhandene HP–Plotausgabe wird abgeschlossen (siehe auch Kapitel 6.8).

6.6 Konstanten

Es erscheint ein Fenster mit einem Cycle– und einem Stringgadget. Mit dem Cycle–Gadget wird der Name der Konstanten (a–z) eingegeben. Dies kann auch über die Tastatur geschehen. Wird der gewünschte Name angezeigt, <RETURN> drücken. Der Wert für e und x wird später nirgendswo verwendet, sollte also nicht benutzt werden. Das Stringgadget ist zunächst deaktiviert. Wurde ein Name ausgewählt, so wird es aktiviert und eine evt. vorhandene Definition der Konstanten wird angezeigt. Diese kann verändert bzw. neu eingegeben werden. Durch Anwahl des Fertig–Gadgets (oder <RETURN> ) wird die Definition übernommen. Bei Anwahl von Cancel vergißt das Programm die Veränderungen, die alte Definition der Konstanten wird weiter verwendet.

6.7 Macros

Es erscheint ein Fenster wie bei (6.6). Es muß erst der Name des Macros und danach die Definition für das Macro eingegeben werden. In den Funktionen wird ein Macro als Macroname oder Macroname(Parameter) angesprochen (z.B. a bzw. a(2*x)). Wird ein Parameter angegeben, so wird in dem Macros der Buchstabe x durch den Parameter ersetzt. Ein Macro kann selbst wieder aus anderen Macros bestehen. Rekursionen werden nicht automatisch erkannt. Während eine Funktion zusammengestellt wird (d.h. die in ihr enthaltenen Macros durch die entsprechenden Definitionen ersetzt werden), sind die Bildschirmfarben auf einen anderen Wert gesetzt und dieser Vorgang kann durch einen Mausklick in das Aktion stoppen–Gadget gestoppt werden.

6.8 HP–Ausgabe

Bei An wird der Name eines Files abgefragt, in das die Daten für einen HP– Plotter geschrieben werden sollen. Alle Zeichenvorgänge incl. Text einfügen werden in diese Datei geschrieben. Solange dieser Modus aktiv ist, bleibt die Farbe des Screens verändert. Ausgeschaltet wird dieser Modus mit Aus oder durch Ändern des Intervall oder durch normalen Ausdruck (Drucken).

Teil III

Optionen und Eingabeformate

7 Funktionsterme

Jede Funktion darf aus den Rechenarten +, −, ∗, /, ↑ und den Funktionen sin, cos, tan, log, int, sgn, abs, sqr, asin, acos, atan, ln und den Konstanten a - z und pi ohne x sowie der Variablen x bestehen. e und pi sind mit den erwarteten Werten vordefiniert. Es muß alles klein geschrieben werden. Zahlen dürfen normal (1; 1.1; .1) oder in Potenzschreibweise (3e5,5d-7) eingegeben werden. Bei Potenzen darf vor dem Exponenten ein + oder − stehen, ohne daß der Exponent gleich geklammert werden muß. In der Regel sollte man aber alles so klammern, daß zweifelsfrei festgelegt ist, in welcher Reihenfolge der Term berechnet werden soll. Es gilt natürlich Potenz– vor Punkt– vor Strichrechnung.

8 Optionen

Beim Starten lädt MathPlot die Dateien S:Colours und S:Funktionen. Tabelle 4 und 5 zeigen Beispiele für diese Dateien. Beim Start von der Workbench kann außerdem über das .info–File die Größe der Zeichenfläche eingestellt werden. Dazu sind die Schlüsselworte WIDTH und HEIGHT zu definieren. Weiterhin gibt es noch die Schlüsselwörter VIEW und ROUND. Bei ROUND kann TRUE oder FALSE angegeben werden, entsprechend werden die Ausgaben bei Diskussion gerundet oder nicht (sehr kleine Zahlen werden auf NULL gesetzt). Bei VIEW kann einer der in Tabelle (3) angegebenen Werte eingegeben werden. Entsprechend wird der Bildschirm dargestellt. Die Größe der Zeichenfläche sollte den ViewMode angepaßt sein (z.B. 640x480 bei Productivity). Die Werte können addiert werden (außer die beiden VGA-Modi). Einen Hires–Interlace–Screen mit 60 Hz Bildwiederholfrequenz (bei entsprechenden Chips, NTSC–Darstellung) erhält man mit 102404. Bei Verwendung entsprechender Chips wird ein NTSC– Screen automatisch in der Höhe gestreckt. Sollte die Darstellungsart auf dem Rechner nicht verfügbar sein, so endet das Programm kommentarlos. Ein Hires– Screen (ohne Angabe von PAL) sollte aber auf jedem Rechner verfügbar sein. Weiterhin gibt es noch das Schlüsselwort TEXT. Hier sollte der Name (und evt. Pfad) der gewünschten Textdatei angegeben werden.

Tabelle 3: Einige Werte für ViewModes

NTSC MONITOR ID  69632
PAL MONITOR ID  135168
HIRES KEY  32768
SUPER KEY  32800
INTERLACE  4
VGAPRODUCT KEY  233508
VGAPRODUCTLACE KEY 233509

Tabelle 4: Voreinstellung der Farben

aaa Normal   Hintergrund
000  TitelBar
fff  Titel
68b  Plot
fff Printing Hintergrund
f0f  TitelBar
5f0  Titel
000  Plot
09e HP-Out   Hintergrund
0b0  TitelBar
fff  Titel
000  Plot

Tabelle 5: Voreinstellung der Funktionen

sin(x) Wird als erste Funktion angezeigt
cos(x) Wird als zweite Funktion angezeigt

tan(x) x x ↑ 2 x ↑ 3 sqr(x) log(x) sgn(x) abs(x)

Teil IV

Einige Bemerkungen

9 Bekannte Fehler

Bisher ist mir nichts schwerwiegendes bekannt. Die Beschriftung der Achsen überschneidet sich nur leider häufiger. Eventuell finde ich ja noch Abhilfe. …

10 Seltsames Verhalten

Das Programm paßt sich weitgehend automatisch dem verwendeten Font an. Bei zu großen Fonts (> 15) gibt es allerdings bereits Probleme mit den Menus, sie passen in der Breite nicht mehr auf einen 640–er Bildschirm. Bei noch größeren Fonts werden die Menus auch zu hoch, so daß es zu Fehldarstellungen kommen kann… Sämtliche Kommunikationsfenster passen sich ebenfalls der Fontgröße an. Ein Fenster, daß nicht mehr auf den Screen paßt, wird einfach nicht geöffnet. Probleme gibt es mit der Beschriftung der Achsen (zu große Fonts sehen einfach nicht aus), auch die Übereinstimmung des HP–Outputs mit dem Bildschirm leidet stark. Zu Abstürzen dürfte es wegen eines zu großen Fonts aber nicht kommen.

Teil V

Tutorial

11 Einleitung

Sie haben sich also entschieden, MathPlot einmal auszuprobieren und wollen Schritt für Schritt wissen, was Sie tun sollen. Genau das versuche ich mit diesem Tutorial zu erreichen. Sagen wir mal, Sie wollen sich die Funktionen

sin(x) + cos(x)

2 ∗ sin(x)
sin(2 ∗ x)

im Intervall [−π, π] ansehen.

12 Vorbereitungen

Sorgen Sie dafür, daß sich im LIBS:–Ordner die folgenden Libraries befinden: 1. mathieeedoubbas.library

2. mathieeedoubtrans.library

3. asl.library

4. tool.library Die Systemlibraries müssen in der Version 36 oder höher vorliegen. Sie brauchen also wenigstens Kickstart/Workbench 2.0. Sollten Sie regelmäßig mit MathPlot arbeiten, sollten Sie auch noch folgende Dateien nach S: kopieren:

1. Colours

2. Funktionen Außerdem sollten Sie noch die Größe der Zeichenfläche einstellen:

• Öffnen Sie Ihr Diskettenicon, bis Sie das Icon von MathPlot sehen.

• Klicken Sie den MathPlot einmal an und wählen Sie den Workbench– Menupunkt Icon/Information. Es sollte das Info–Fenster erscheinen.

• Im unteren Bereich sollte unter Tool–Types bereits etwas stehen. Klicken Sie die Pfeile so lange an, bis Sie einen der folgenen Texte sehen und ändern Sie den Wert dahinter auf den angegebenen Wert ab:

                 WIDTH=640
                 HEIGHT=256
                 VIEW=32768
                 ROUND=TRUE
                 TEXT=TextDaten

Dies sind die Standarteinstellungen für einen PAL–Amiga. Keiner der Werte für WIDTH oder HEIGHT sollte größer als 1024 sein (es sei denn, man hat die ECS–Chips). Bei großen Zeichenflächen brauchen Sie auch viel Chip–Speicher. Die Werte sollten auch sinnvoll sein, da es keine Möglichkeit gibt, zu scrollen.

• Wählen Sie SAVE an.

• Starten Sie den MathPlot durch einen Doppelklick

13 Eingeben der Funktionen

Die drei Funktionen, die Sie zeichnen lassen wollen, enthalten immer wieder den Ausdruck sin und cos. Obwohl es sich bei diesen kurzen Texten fast nicht lohnt: Stellen Sie sich tippfaul und arbeiten Sie mit Macros.

13.1 Eingabe der Macros

Sie haben sich überlegt, daß Sie a=sin und b=cos definieren wollen. Wählen Sie also den entsprechenden Menupunkt (Macros). Tippen sie ein a. Es sollte im Cycle–Gadget erscheinen. Drücken Sie <RETURN> . Der Cursor sollte nun in dem zweiten Gadget stehen. Sollte dort ein alter Text angezeigt werden, so löschen Sie ihn mit rechte–Amiga–x. Geben Sie dann sin(x) ein. Entsprechend geben Sie für b den Text cos(x) ein.

13.2 Eingabe der Funktionen

Klicken Sie im Menupunkt Funktion ändern drei Untermenupunkte an, ohne die rechte Maustaste loszulassen. Nach dem Loslassen sollte ein Fenster erscheinen, in dessen Gadget evt. eine alte Funktion steht. Löschen Sie diese. Dann geben Sie _a+_b ein. a steht für den Sinus, b für den Cosinus. Wenn Sie <RETURN> drücken, sollte das Fenster verschwinden und gleich darauf wieder erscheinen. Geben Sie dort 2*_a ein. Schließlich erscheint das Fenster noch einmal. Dort geben Sie dann _a(2*x) ein. Wenn Sie sich jetzt die Untermenupunkte von Funktion ändern ansehen, sollten dort Ihre Funktionen erscheinen.

14 Eingabe des Intervalls

Wählen Sie den Menupunkt Intervall. Geben Sie für x–min -pi, für x–max pi, für y–min -20 und für y–max 20 ein. Die Grenzen für den y–Bereich kennen Sie ja noch nicht, also tasten Sie sich von oben heran. Die Cycle–Gadgets für x– und y–Achse sollten auf ∗1 stehen.

15 Zeichnen der Funktionen

Wählen Sie unter dem Menupunkt Plot die drei gewünschten Funktionen an. Sie sollten gezeichnet werden. Aber der Bereich von -20 bis 20 war zu viel.

16 Ändern des Bereiches

Prinzipiell können Sie nochmals Intervall aufrufen und neue y–Grenzen eingeben. Versuchen Sie aber mal die Funktion Zoom. Wählen Sie sie an und gehen Sie mit der Maus an die Stelle, die Sie als neue obere linke Ecke sehen möchten. Drücken Sie die linke Maustaste und lassen Sie sie nicht los. Gehen Sie mit der Maus an die Stelle, die Sie als neue untere rechte Ecke sehen möchten und lassen Sie die Maustaste los. Nun können Sie die Funktionen neu zeichnen.

17 Diskussion

Falls Sie noch mehr über die Funktion wissen wollen, wählen Sie den Menupunkt Diskussion.

Teil VI

Abschluß

18 Schlußwort

Falls jemand Verbesserungsvorschläge, Fehlermeldungen oder ähnliches hat, oder sich registrieren lassen möchte, hier meine Adresse:

                 Rüdiger Dreier
                 Gustav-Winkler Str. 40
          W-4800 Bielefeld 18
                 Germany

Viel Freude mit diesen Programm !! 20