home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 2: PC
/
frozenfish_august_1995.bin
/
bbs
/
d09xx
/
d0916.lha
/
MathPlot
/
MathPlot_D.TXT
< prev
next >
Wrap
Text File
|
1993-10-04
|
34KB
|
813 lines
MathPlot
========
⌐ by Rⁿdiger Dreier 1991/92/93
Diese Anleitung soll eine Benutzung der ShareWareversion von MathPlot
erm÷glichen. Abschnitte, die mit "!!" in der ersten Spalte gekenn-
zeichnet sind, enthalten wichtige Hinweise und sollten gelesen werden.
Bei einer Registrierung erhalten Sie eine gedruckte Version der
aktuellen Anleitung.
Zur Registrierung siehe "Registrierung.txt"
Meine Adresse:
Rⁿdiger Dreier
Gustav-Winkler-Str. 40
33699 Bielefeld
Deutschland
Bis auf weiteres bin ich auch per EMail erreichbar:
ruediger.dreier@post.uni-bielefeld.de
Ein wichtiger Hinweis
=====================
!! Der Autor ⁿbernimmt keinerlei Haftung fⁿr SchΣden, die aus der sach-
!! oder unsach-gemΣssen Benutzung des Programms entstehen !!
!!
!! Weiterhin wird keine Haftung fⁿr die Fehlerfreiheit des Programms
!! ⁿbernommen !!
!!
!! Benutzung auf eigene Gefahr !
!!
!! MathPlot ist SHAREWARE.
!! Bei regelmΣ▀iger Benutzung ist die Share-Gebⁿhr zu bezahlen.
!! NΣheres siehe weiter unten. Dazu bitte das Formular aus
!! "Registrierung.txt" benutzen !
Zu dieser Version von MathPlot
==============================
!! Diese Version des Programms ist eine Demoversion mit leichten
!! EinschrΣnkungen (Es erscheint in regelmΣ▀igen AbstΣnden ein
!! Nervrequester). Sie darf unter folgenden Bedingungen weiter-
!! gegeben werden:
- Der Copyrighttext darf nicht verΣndert worden sein.
- Es darf mit dem Vertrieb des Programms KEIN Geld verdient werden (also
nur Kosten fⁿr Porto, Material und eine KLEINE Gebⁿhr fⁿr die Ab-
nutzung der Kopieranlage, Strom etc.)
- Das Programmpaket darf nicht verΣndert worden sein.
- Das Programmpaket mu▀ vollstΣndig sein, also sΣmtliche Teile der
Anleitung (in mindestens einer Sprache) und eine lauffΣhige Version
von MathPlot sowie eine Version der mtool.library mⁿssen zusammen
weitergegeben werden.
- 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 von ⁿber DM 5,-- je Diskette
oder eine CD mit PD-Soft fⁿr ⁿber DM 60,- aufnehmen), so ist dafⁿr
die schriftliche Genehmigung des Autors n÷tig.
- Es IST erlaubt, die Textdateien in andere Sprachen zu ⁿbersetzen
und zusammen mit diesem Programm weiterzugeben. Wer sich diese
Mⁿhe gemacht hat, sende mir bitte die entsprechende Datei zu. Dann
bitte auch mitteilen, ob ich diese Datei bei den Demo-Version und
den registrierten Versionen von MathPlot beilegen darf !
- Es IST erlaubt und erwⁿnscht, da▀ diese Demoversion in
elektronischen Netzwerken verbreitet wird.
Sharegebⁿhr
===========
Wird dieses Programm regelmΣ▀ig benutzt, so ist die Sharegebⁿhr zu bezahlen.
Sie betrΣgt DM 30,-- oder (US)$ 20,-- und ist unter Angabe des Programmnamens
und der Programmversion (m÷glichst auch wo man sie gefunden hat) an die
oben stehende Adresse zu senden (bitte das Formular aus "Registrierung.txt"
benutzen). Dafⁿr erhΣlt man
- Die neuste Version von Math-Plot (Vollversion). Diese Version darf
NICHT weitergegeben werden.
- Eine gedruckte Anleitung (die Vollversion von dieser, bitte angeben,
ob Deutsch oder Englisch, andere Sprachen stehen NICHT zur Ver-
fⁿgung).
- 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.
Falls Sie per EMail erreichbar sind, kann ich auch in gewissen
AbstΣnden die neueste Version als "UUENCODE'd" Version zuschicken.
Ich akzeptiere auch gⁿltige, (bundes)deutsche Briefmarken. Der Einzelwert
einer Marke sollte nicht ⁿber DM 1,-- liegen. Euroschecks oder bar
ist mir aber lieber.
Der Quelltext von MathPlot
==========================
Der Quelltext ist NICHT frei kopierbar und ist nur gegen Bezahlung
erhΣltlich. Die Gebⁿhr hierfⁿr betrΣgt DM 30,-- oder (US)$ 20,--.
!! Der Quelltext darf nicht weitergegeben oder (ohne schriftliche
!! Genehmigung) kommerziell genutzt werden. Der Quelltext ist NUR fⁿr
!! registrierte Benutzer erhΣltlich.
Anwendungsgebiet
================
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 numerisch oder symbolisch
bestimmt). Weiterhin sucht das Programm Nullstellen, Extrema und
Wendestelle. Numerische Integration ist m÷glich. Ein ARexx-Port
zur einfachen Erweiterung des Programms steht zur Verfⁿgung.
MathPlot eignet sich zur Unterstⁿtzung bei Kurvendiskussionen,
um die selbst errechneten Ergebnisse zu kontrollieren.
Anforderungen an den Rechner
============================
!! Das Programm lΣuft nur unter Kickstart 2.04 und h÷her ! 1MB
!! 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 Verzeichnis
!! LIBS: mⁿssen sich mehrere Libraries befinden:
!! - mathieeedoubbas.library
!! - mathieeedoubtrans.library
!! - asl.library
!! - mtool.library (in diesem Ordner enthalten)
!! - diskfont.library (V36 oder h÷her)
!! - iffparse.library (wird nur zum Abspeichern als IFF-Bild ben÷tigt)
Und in S: sollten sich befinden (Nicht unbedingt n÷tig):
- mplot.prefs, diese Datei enthΣlt alle Voreinstellungen
- Funktionen.fkt, einige vordefinierte Funktionen.
- Konstanten.con, einige vordefinierte Konstanten
- Macros.mcr , einige vordefinierte Makros.
Falls der ARexx-Port benutzt werden soll, sollte der Inhalt des
Ordner "Macros" nach REXX: kopiert werden (bei ARexx scheint ein
"assign ..... add" nicht zu funktionieren).
Die Menupunkte
==============
Es folgt eine kurze Beschreibung der verschiedenen Menupunkte. Die
Bedeutung der meisten Menupunkte sollte alleine schon aus dem Namen
hervorgehen.
Projekt
-------
Neu
---
Nach einer Sicherheitsabfrage wird der Bildschirm gel÷scht. Geschieht
automatisch beim VerΣndern der Intervallgrenzen. Eine evt. vorhandene
HP-Plotausgabe wird abgeschlossen.
IFF Save As
-----------
Dieser Menupunkt ben÷tigt die iffparse.library. Ist sie nicht vorhanden,
so erscheint ein Requester. Wenn sie vorhanden ist wird nach dem
Namen gefragt, unter dem das Bild abgespeichert werden soll.
Falls das Programm von Workbench gestartet wurde, so wird das Icon als
Icon fⁿr diese Datei benutzt.
Funktionen laden/speichern
--------------------------
Nach Eingabe eines Namens wird die entsprechende Datei bearbeitet. 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.
Macros/Konstanten laden/speichern
---------------------------------
Siehe bei Funktionen laden/speichern.
Drucken
-------
Der Screen wird auf einem Preferences-Drucker ausgegeben. WΣhrend des
Druckvorgangs Σndert sich die Farbe des Screens. Eine HP-Ausgabe wird
abgeschlossen.
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 das Icon des Programms benutzt,
falls es von der Workbench gestartet wurde. Bei Start von CLI
funktioniert Iconify nicht.
About
-----
Es werden Informationen ⁿber das Programm (Versionsnummer) und den Autor
angezeigt. Ebenso wird der Name des PublicScreens und des ARexx-Ports
angezeigt. In neueren Versionen werden vielleicht noch mehr Daten
angezeigt.
Ende
----
Nach einer Sicherheitsabfrage wird das Programm beendet (natⁿrlich nur,
falls die Sicherheitsabfrage entsprechend beantwortet wurde).
!! Da der Screen von MathPlot ein "Public-Screen" ist, kann es passieren,
!! da▀ zu diesem Zeitpunkt noch ein FREMDES Fenster auf dem Screen
!! ist. In diesem Fall wird das Programm NICHT beendet und es erscheint
!! eine Mitteilung.
Zeichnen
--------
Funkionen Σ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.
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.
Funkion #? Ableitung
--------------------
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.
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 (wenn
dies gewⁿnscht ist). Bei Extremstellen wird angegeben, ob es ein
Minimum oder Maximum ist, bei Wendestellen, ob es eine rechts/links
"Kurve" oder umgekehrt ist.
Mit dem Menupunkt Diskussion des Bearbeiten-Menus kann bestimmt
werden, ob bei diesem Menupunkt
- kleine Zahlen auf Null gerundet werden sollen
- die Ausgabe auf dem Bildschirm erscheinen soll
- die Ausgabe in eine Datei geschrieben werden soll
- nach jedem Diskussionsabschnitt gewartet werden soll
- die Funktionsterm und Ableitungen angezeigt werden sollen.
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 !!!!
Num. Integration
----------------
Hier k÷nnen Sie eine Funktion numerisch 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", das
Ergebnis wird in dem einem Textgadget angezeigt, Fehler im anderen Text-
gadget.
Das Fenster schlie▀t man durch Anwahl von "Quit".
Die von diesem Programm benutzten Ableitungen
=============================================
- +-*/ Das bliche
- x^a a*x^{(a-1)}
- a^x a^x*ln{a}
- f(x)^{g(x)} (g(x)*ln(f(x)))'*f(x)^{g(x)}
- trig. Fkt. Das bliche
- abs(x) sgn(x) (Fⁿr x=0 nicht richtig)
- int(x) 0 (LΣ▀t sich drⁿber diskutieren)
- sgn(x) 0 (La▀t sich drⁿber diskutieren)
Die Fehlercodes des Programms
=============================
DIVBYZERO & 1 & Es wurde durch 0 geteilt
LOGNEG & 2 & log(<=0)
SQRTNEG & 4 & sqrt(<0)
ATRIG & 8 & asin/acos(x), x<-1 oder x > 1
UNPAKLAM & 16 & Unpaarige Klammern
TEST & 32 & Wird nicht benutzt
NOFUNC & 64 & Keine Funktion eingegeben
NO_KONST & 128 & Keine solche Konstante
NO_MEM & 256 & Nicht genug Speicher
POWERROR & 512 & < 0 hoch Bruch wurde versucht
NO_FUNC & 1024 & Keine Funktion gefunden
ER_AHYP & 2048 & Fehler bei acosh(),atanh()
Bearbeiten
----------
Achsen/autom.
------------
Es wird ein Koordinatenkreuz mit einigen Unterteilungen gezeichnet.
Achsen/manuell
--------------
Ein Fenster zur Abfrage der Anzahl Unterteilungen in x- und y-Richtung
und der Textstellen (in der Form: Texte jede x-te Unterteilung)
erscheint. Die Einstellungen geschehen ⁿber Schieberegler. Die beiden
Regler fⁿr eine Achse sind miteinander gekoppelt, so da▀ bei
"Text jede ..." kein h÷herer Wert eingegeben kann, als es ⁿberhaupt
Unterteilungen gibt.
Um das ideale Koordinatensystem zu erhalten, ist es ratsam, vor dem
Zeichnen der Funktion die Einstellungen so lange zu variieren, bis die
Darstellung gefΣllt. Ist erst einmal eine Funktion gezeichnet, so kann
nur einmal ein Koordinatensystem gezeichnet werden, danach ist der
entsprechende Menupunkt nicht mehr anwΣhlbar.
Bevor die Achsen gezeichnet werden, erscheint das Fenster
wie unter "Text eingeben" beschrieben, um nach der Farbe fⁿr die Achsen zu
fragen.
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.
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 wird der Text an der aktuellen
Position in dem frei gewΣhlten Zeichensatz und der gewⁿnschten
Farbe gezeichnet. Diese Angaben werden bei "Font wΣhlen" gemacht.
Genauigkeit
-----------
Es erscheinen 4 SubMenuPunkte, mit denen die Genauigkeit auf "klein",
"mittel", "gro▀" oder "Sehr gro▀" gesetzt werden kann. Je genauer
gezeichnet wird, desto mehr Zeit wird ben÷tigt.
Intervall
---------
Nach Anwahl dieses Menupunktes erscheint ein Fenster mit 4 String-
gadgets, 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 An-
forderungen entsprechen, die auch fⁿr die Funktionen gelten.
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 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^.
Konstanten
----------
Es erscheint ein Fenster mit einem Cycle- und einem Stringgadget. Mit
dem Cycle-Gadget wird der Name der Konstanten (a-z) eingegeben.
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 wird die Definition ⁿbernommen. Bei Anwahl
von "Cancel" vergi▀t das Programm die VerΣnderungen, die alte Definition
der Konstanten wird weiter verwendet.
Macros
------
Siehe auch bei Konstanten.
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 Macro der Buchstabe x durch den Parameter ersetzt. Ein
Macro kann selbst wieder aus anderen Macros bestehen. Rekursionen
werden NICHT automatisch erkannt.
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).
Farbe wΣhlen oder Σndern
------------------------
Mit Hilfe der drei Menuunterpunkte k÷nnen die drei Farbpaletten, die
das Programm verwaltet, geΣndert werden. Diese Paletten sind fⁿr den
normalen Zeichenbetrieb, fⁿr die Druckausgabe oder wenn eine
HP-Ausgabe aktiv ist.
Au▀erdem wird hier die aktuelle Zeichenfarbe bestimmt. Die zuletzt
im Palettenrequester aktive Farbe ist gleichzeitig die neue Zeichen-
farbe.
Font wΣhlen
-----------
Mit den beiden Subitems "Font fⁿr Text" und "Font fⁿr Label" kann der
Zeichensatz, die Gr÷▀e, der Style sowie die Vorder- und Hinter-
grundfarbe bestimmt werden, der zum Beschriften der Achsen bzw. bei
Text einfⁿgen benutzt wird.
Zur Auswahl erscheint der Standart-Font-Requester des Systems.
Mit dem dritten Subitem "Bildschirmfont" wird ein neuer Zeichensatz
fⁿr den Bildschirm bestimmt. Die Farb- und Zeichenmodusangaben haben
keine Wirkung. Wenn OK angewΣhlt wurde wird ein neuer Bildschirm
mit dem gewⁿnschten Zeichensatz ge÷ffnet.
Aufl÷sung Σndern
----------------
In einer Liste werden alle verfⁿgbaren (sinnvollen) Darstellungsmodi
aufgelistet. Au▀erdem kann hier die tatsΣchliche neue Aufl÷sung
und die Anzahl Farben (bzw. die Anzahl Bitplanes) eingegeben werden.
Sollte beim ╓ffnen des Bildschirm etwas nicht ganz klappen, so wird
versucht, einen Bildschirm mit den Default-Werten (die auf jedem
Amiga laufen sollten), zu ÷ffnen. Klappt dies auch nicht, sollte das
Programm sich selbst beenden.
Linienmuster Σndern
-------------------
Mit diesem Menupunkt k÷nnen die drei Linienmuster (Funktion, 1/2.
Ableitung) verΣndert werden.
Diskussion
----------
Hier k÷nnen einige Einstellungen fⁿr den Diskussionsvorgang vor-
genommen werden.
AREXX
-----
ARexx-Macro starten
-------------------
In dem erscheinenden Requester kann ein Rexx-File ausgewΣhlt werden,
das dann ausgefⁿhrt wird. Es werden alle Dateien in rexx: mit der
Endung ".mapl" angezeigt (im Gegensatz zur Endung ".mpl", die
einen zusΣtzlichen Befehl kennzeichnet und besser nicht von Hand
gestartet werden sollten).
ARexx-Macro zuweisen
--------------------
In dem AREXX-Menu sind 10 EintrΣge zum direkten Starten von AREXX-Makros
vorgesehen. Mit diesem Menupunkt werden diese Makros bestimmt.
Makroaufnahme
-------------
Das Programm ist in der Lage, einfache ARexx-Skripts automatisch zu
erstellen. Gespeichert werden: Funktion zeichnen/verΣndern, Konstanten
und Macros verΣndern, Achsen zeichnen, Farben wΣhlen und
Intervalleingabe. Ein Dateiname fⁿr die zum Abspeichern zu benutzende
Datei wird abgefragt.
Voreinstellungen
----------------
Im Menu "Voreinstellungen" finden sich viele Menupunkte nocheinmal, die
auch im Menu "Bearbeiten" vorkommen. Fⁿr das Programm gibt es aktuelle
Einstellungen (die z.B. beim nΣchsten Zeichenvorgang benutzt werden),
diese werden mit dem "Bearbeiten"-Menu eingestellt und Voreinstellungen,
die nach dem Programmstart aktiv sind. In diesem Menu werden die
letztgenannten Einstellungen definiert. Diese sind dann nicht sofort
wirksam, sondern erst, wenn das Programm neu gestartet wurde (und die
gewⁿnschten Einstellungen in der Datei abgespeichert wurden, die beim
Start geladen wird) oder nachdem "Benutzen" gewΣhlt wurde (nach "Benutzen"
sind NICHT alle geΣnderten Voreinstellungen aktiv, die Textdatei z.B., die
alle Texte des Programms enthΣlt, wird nur einmal beim Programmstart
geladen).
Im Folgenden werden nur die Menupunkte beschrieben, fⁿr die es in den
anderen Menus kein ─quivalent gibt:
Aufl÷sung
---------
Beim allerersten Start ohne ein .prefs-File MUSS ein Modus und eine
Farbtiefe explizit angewΣhlt werden, sonst kommt es zu Fehldarstellungen.
Pfade zuweisen
--------------
Beim Programmstart (und nur dort, nicht nach "Benutzen") werden einige
Dateien geladen:
- eine Textdatei, die alle Texte des Programms enthΣlt
- je eine Datei mit VorschlΣgen fⁿr die Funktionen, Konstanten und
Makros.
Diese 4 Dateien werden hier abgefragt.
Weiterhin fragt dieser Menupunkt nach dem gewⁿnschten Namensvorschlag
beim Abspeichern als IFF-File und beim Starten von ARexx-Makros sowie
einen Vorschlag fⁿr alle sonstigen Filerequester.
Shortcuts
---------
Da die Texte des Programms in verschiedene Sprachen ⁿbersetzt werden
k÷nnen mu▀ eine M÷glichkeit vorhanden sein die Tastaturabkⁿrzungen
fⁿr die Gadgets selbst einzustellen. Dazu dient diese Menu.
Es erscheint ein Stringgadget mit einigen Buchstaben. Die Anzahl
der Buchstaben sollte NICHT verΣndert werden.
- der erste Buchstabe ist der Gro▀buchstabe, der Σquivalent zur
Anwahl von OK sein soll.
- der zweite Buchstabe ist der Gro▀buchstabe, der Σquivalent zur
Anwahl von Cancel sein soll.
- Die nΣchsten 4 Buchstaben sind fⁿr die Aktivierung der Stringgadet
in einem Fenster: der erste Buchstabe fⁿr das oberste usw.
- Die nΣchsten 4 Buchstaben sind fⁿr die beiden Cycle-Gadget im
Intervall-Requester
- Die nΣchsten 6 Buchstaben sind fⁿr die 3 Schieberegler im Paletten-
requester.
Danach erscheint fⁿr (fast) jedes Menuitem der entsprechende Requester
nochmals und fragt nach einer Tastaturabkⁿrzung fⁿr dieses Menu. Mit
Cancel kann dieser Vorgang abgebrochen werden.
Optionen und Eingabeformate
===========================
Funktionsterme
==============
Jeder Funktionsterm darf aus den Rechenarten +,-,*,/,^
und den Funktionen sin, cos, tan, log, int, sgn, abs, sqr, asin, acos,
atan, sinh, cosh, tanh, asinh, acosh, atanh, ln und den Konstanten
a - z und pi ohne x sowie der Variablen x bestehen. e und pi sind mit den
erwarteten Werten vordefiniert.
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.
Optionen
========
Beim Start des Programm von der Workbench kann mit dem Tooltype
SETTINGS angegeben werden, welche Datei als Voreinstellungsdatei
geladen werden soll. Ohne Angabe wird s:mplot.prefs geladen.
ARexx-Port
==========
Einleitung
----------
MathPlot enthΣlt einen ARexx-Port namens "MPlot_ARexx" (Gro▀/Klein-
schreibung beachten !). Dieser ARexx-Port wurde mit Hilfe der
ARexxBox V1.00 von Michael Balzer erstellt. Damit stehen bei allen
Kommandos, die Werte zurⁿckgeben, die Schlⁿsselw÷rter VAR/K und STEM/K
zur Verfⁿgung. Ebenso gibt es die Variable RC2, die evt. eine weitere
Fehlernummer oder einen Fehlertext enthΣlt.
Die Art der Parameterⁿbergabe und Werterⁿckgabe entspricht den Richtlinien
aus den "User Style Guide".
Die Standartkommandos, die in diesem Programm eine sinnvolle Bedeutung
haben, wurden ebenfalls ⁿbernommen.
ARexx-Kommandos
---------------
Es follt eine AufzΣhlung und teilweise ErklΣrung aller vorhandener
Kommandos. Dabei wird das Format verwendet, wie es auch das HELP-Kommando
erzeugt. Dies ist im wesentlichen das Format, das auch die Shell-Befehle
als Schablone benutzen. Um den Griff zum Handbuch zu vermeiden, zuerst
eine kurze ErklΣrung der wichtigsten "Templates"
/A - das angegebene Argument MUSS immer vorhanden sein.
/K - das angegebene Schlⁿsselwort MUSS mit angegeben werden, falls dieses
Argument angegeben werden soll
/S - Einfacher Ein/Ausschalter
/N - Numerisches Argument
/M - Es k÷nnen mehrere Argumente folgen
Bsp: PROMPT/K/A bedeutet, da▀ immer ein Argument der Form "PROMPT argument"
angegeben werden mu▀
Die Liste der Befehle (diese Liste ist nicht unbeding vollstΣndig,
eine immer aktuelle Liste erhΣlt man mit dem HELP-Befehl):
BEEP
Einfacher DisplayBeep()
CLEAR FORCE/S
L÷scht den Bildschirm. Bei Angabe von FORCE erfolgt keine Sicherheits-
abfrage.
EVALSTRING VAR/K,STEM/K,FUNCTION/A,X/K => VALUE
Wertet eine Funktion aus (Diese Funktion mu▀ immer angegeben werden).
Es kann ein Wert fⁿr x ⁿbergeben werden. Gibt den Wert zurⁿck.
FAULT VAR/K,STEM/K,NUMBER/N/A => DESCRIPTION
Bisher nicht implementiert.
GET1DERIVE VAR/K,STEM/K,NUMBER/N/A => DERIVE
Ergibt die erste Ableitung der angegebenen Funktion (die Nummer bezieht
sich auf die Stellung im Untermenu, 0 fⁿr die erste Funktion, 9 fⁿr die
letzte).
GET2DERIVE VAR/K,STEM/K,NUMBER/N/A => DERIVE
siehe oben.
GETCOLOR VAR/K, STEM/K, TEXTCOLOR/S, AXISCOLOR/S, PLOTCOLOR/S,
TEXTCOLORBACK/S, AXISCOLORBACK/S,
TEXTMODE/S, AXISMODE/S =>
TEXTCOLOR/N, AXISCOLOR/N, PLOTCOLOR/N,
TEXTCOLORBACK/N, AXISCOLORBACK/N,
TEXTMODE/N, AXISMODE/N
Gibt die aktuellen Farben und Zeichenmodi zurⁿck.
GETCONST VAR/K,STEM/K,NAME/A => DEFINITION
Gibt die Definition der angegebenen Konstanten zurⁿck. Als Name mu▀ ein
Buchstabe 'a' - 'z' ⁿbergeben werden.
GETERROR VAR/K,STEM/K => NUMBER/N
Gibt den letzten aufgetretenen Mathe-Fehler zurⁿck.
GETFUNCTION VAR/K,STEM/K,NUMBER/N/A => DEFINITION
Gibt die Definition der angegebenen Funktion zurⁿck.
GETINTERVALL VAR/K,STEM/K,XAXIS/S,XMIN/S,XMAX/S,YAXIS/S,YMIN/S,YMAX/S
=> DEFINITIONSTRING,DEFINITIONNUMBER/N
Gibt die Definition des Intervall zurⁿck. Es darf immer nur eins der
Schlⁿsselw÷rter angegeben werden.
GETMACRO VAR/K,STEM/K,NAME/A => DEFINITION
Gibt die Definition eines Macros zurⁿck.
GETPOINTS VAR/K, STEM/K, FUNCTION/A, ZERO/S, MAX/S, TURN/S
=> XPOINTS/M, YPOINTS/M, TYP/M
Kurvendiskussion. Es darf immer nur einer der Switches angeschaltet
sein.
GETPRECISION VAR/K,STEM/K => PRECISION/N
Gibt die aktuelle Zeichengenauigkeit zurⁿck.
HELP VAR/K,STEM/K,COMMAND,PROMPT/S => COMMANDDESC,COMMANDLIST/M
HELP alleine gibt eine Liste aller Kommandos aus. HELP command gibt
eine Hilfe zu dem angegebenen Kommando aus. PROMPT wird noch nicht
unterstⁿtzt.
HPGL_ON FILENAME
Schaltet die HP-Grafikausgabe ein.
LINE XMIN/A YMIN/A XMAX/A YMAX/A
Zeichnet eine Linie
LOADCONST FILENAME
LΣdt Konstantendefinitionen.
LOADFUNC FILENAME
LΣdt Funktionsdefinitionen.
LOADMACRO FILENAME
LΣdt Macrodefinitionen.
NEW PORTNAME/K
L÷scht den Bildschirm. PORTNAME wird zur Zeit noch nicht unterstⁿtzt.
NUMINT VAR/K,STEM/K,STEPS/N/A,XMIN/A,XMAX/A,FUNCTION/A => VALUE
Numerische Integration.
PLOT NUMBER/N/A,NORMAL/K/S,DERIVE1/K/S,DERIVE2/K/S,DERIVE1NUM/K/S,
DERIVE2NUM/K/S,FORCE/S
Zeichnet die angegebene Funktion (NUMBER, 0-9) entsprechend den anderen
Schlⁿsselw÷rtern.
POINT XPOS/A YPOS/A
Setzt einen Punkt
PRINT PROMPT/S
Druckausgabe, PROMPT wird noch nicht unterstⁿtzt.
QUIT FORCE/S
Beendet das Programm, FORCE unterdrⁿckt die Sicherheitsabfrage.
REQUESTFILE VAR/K,STEM/K,TITLE/K,PATH/K,FILE/K,PATTERN/K,SAVE/S => FILENAME
Erzeugt einen Filerequester mit den entsprechenden Vorgaben. SAVE/S ist
zusΣtzlich zu den Vorgaben aus den "User Style Guide" vorhanden und
erzeugt eine SAVE-Filerequester (den, bei den man eine Datei NICHT mit
einem Doppelclick anwΣhlen kann).
REQUESTNOTIFY PROMPT/K/A,BUTTON/K
Entspricht in den Templates nicht dem "User Style Guide" und sollte
daher nicht benutzt werden.
REQUESTNUMBER VAR/K,STEM/K,PROMPT/K,DEFAULT/K/N => NUMBER/N
Fragt nach einer Nummer. Zur Zeit so realisiert, da▀ auch Buchstaben
eingegeben werden k÷nnen, aber nur die Zahl, die sich aus dem ein-
gegebenen String ergibt auch zurⁿckgegeben wird. Es werden nur
Integer-Werte zurⁿckgegeben.
REQUESTRESPONSE VAR/K,STEM/K,TITLE/K,PROMPT/K/A,BUTTON/K => RETURN/N
Erzeugt einen Easy-Request. PROMPT ist der angezeigte Text, mit BUTTON
(z.B. OK|Cancel) gibt man den Text fⁿr die Anwahlfelder an. Es wird die
Nummer des angewΣhlten Gadgets zurⁿckgegeben (1,2... = erstes
von links, zweites von links...). Falls das rechte Gadget angewΣhlt
wurde ist RC=5.
REQUESTSTRING VAR/K,STEM/K,PROMPT/K,DEFAULT/K,TITLE/K => STRING
Fragt einen String ab.
RX VAR/K,STEM/K,CONSOLE/S,ASYNC/S,COMMAND/F => RC/N,RESULT
Startet ein externes ARexx-Skript.
SAVECONST FILENAME
Speichert die Konstanten ab.
SAVEFUNC FILENAME
Speichert die Funktionen ab.
SAVEIFF FILENAME
Speichert den Bildschirm als IFF-Grafik ab.
SAVEMACRO FILENAME
Speichert die Macros ab.
SCREENTOBACK
Bringt den Screen in den Hintergrund.
SCREENTOFRONT
Bringt den Screen in den Vordergrund.
SELECTMENU MENU/N/A,ITEM/N/A,SUB/N,FORCE/S
WΣhlt ein Menu aus. FORCE unterdrⁿckt einen Teil der Requester, die bei
direkter Anwahl des Menus (mit der Maus) erscheinen wⁿrden. Das oberste
Item/Subitem ist immer die Nummer 0, danach der Reihe nach durchzΣhlen.
Unterteilungen werden mitgezΣhlt.
SETCOLOR PLOTCOLOR/N/K, AXISCOLOR/N/K, TEXTCOLOR/N/K,
AXISCOLORBACK/N/K, TEXTCOLORBACK/N/K,
AXISMODE/N/K, TEXTMODE/N/K
Setzt die Farben und Zeichenmodi.
SETCONST NAME/A,DEFINITION/A
Setzt eine Konstante auf den neuen Wert.
SETFUNC NUMBER/N/A,DEFINITION/A
Setzt eine Funktion auf den neuen Wert.
SETINTERVALL XAXIS/N/K,XMIN/K,XMAX/K,YAXIS/N/K,YMIN/K,YMAX/K
Setzt das Intervall neu.
SETMACRO NAME/A,DEFINITION/A
Setzt ein Macro neu.
SETNUMPRECISION PRECISION/N/A
Setzt die Anzahl Nachkommastellen fⁿr die Rⁿckgabewerte bei
EVALSTRING und NUMINT.
VERSION VAR/K,STEM/K => VERSION
Gibt einen Versionsstring zurⁿck.
ARexx-Macros
------------
Mit diesen Macros (nicht zu verwechseln mit den (Funktions-) Macros im
Programm !) bietet sich die M÷glichkeit, immer wiederkehrende Aufgaben zu
vereinfachen. So k÷nnen ganze Funktionenreihen erzeugt und als .IFF- oder
.PLT-File abgespeichert werden. Ein Beispiel ist vorhanden:
- Schar
Zeichnet eine Kurvenschar. Der Benutzer wird nach der Nummer
der Funktion im Menu (0 - 9), dem Namen der Konstanten, dem Start- und
Endwert fⁿr diese Konstante und der Anzahl Schritte gefragt. Danach
wird die Funktion entsprechend der Anzahl Schritte mit jeweils
anderen Wert fⁿr die Konstante gezeichnet. Dieses Skript sollte
vom Programm aus gestartet werden.
Danksagungen
============
Einigen Leuten m÷chte ich besonders danken. Ohne Sie lΣge das Programm
jetzt sicherlich nicht in dieser Version vor:
- Den Leuten von Commodore fⁿr Kickstart/Workbench 2.0 (besonders fⁿr
die gadtools.library).
- Joern Clausen, der als beta-Tester eine Reihe von Fehler fand und
auch mit VerbesserungsvorschlΣgen nicht geizte. Das Programmicon stammt
ebenfalls aus seiner Feder (Maus ?).
- Michael Balzer fⁿr seine ARexxBox. Ohne dieses tolle Hilfsprogramm
hΣtte MathPlot noch immer seinen primitiven ersten ARexx-Port.
Abschlu▀
========
Wer VerbesserungsvorschlΣge, Fehlermeldungen oder Σhnliches
hat, kann mir schreiben (Adresse am Anfang).
Viel Freude mit diesen Programm !!