@DATABASE "Funky V4.4"

@NODE MAIN "Funky V4.4 - Beschreibung"

                       Willkommen bei Funky V4.4
                       *************************
                         
Inhaltsverzeichnis:

@{"Der Funktionseditor" LINK Editor}                        @{"Der Funktionsplotter" LINK Plotter}

@{"Die Funktionsanalyse" LINK Analyse}                       @{"Symbolische Ableitungen" LINK Ableitung}

@{"Die Integralberechnung" LINK Integrale}                     @{"Matrizenrechnen" LINK Matrizen }

@{"Das Informationsfenster" LINK Information}                    @{"Programmeinstellungen" LINK Einstellung}

@{"Die Konstantenverwaltung" LINK Konstanten}


@{"Elementare Funktionen" LINK Funktion}                      @{"Dateiendungen" LINK FILEEND}
  
@{"Allgemeine Informationen" LINK Einsatzgebiet}                   @{"Garantie" LINK Garantie}

@{"Bekannte Fehler" LINK Fehler}                            @{"Geplante Erweiterungen" LINK Erweiterungen}


Funky ist Public Domain, Freeware. (s. @{"Information" LINK Information})

Der Autor übernimmt keinerlei Haftung auf Schäden, die auf die Benutzung
des Programmes zurückzuführen sind!
@ENDNODE

@INDEX FUNKYINDEX
@NODE FUNKYINDEX "Funky Dokumentation - Stichwortverzeichnis"
A
  Abkürzungen -> Tastaturkürzel
  @{"Ableitung" LINK Ableitung}
    @{"- numerisch" LINK "Numerische Ableitung"}
    @{"- plotten" LINK "Ableitungen plotten"}
    @{"- symbolisch" LINK "Symbolische Ableitung"}
    @{"- überprüfen" LINK "Ableitung prüfen"}
  @{"Analyse" LINK AnalyseArt}
  @{"Asymptote" LINK Asymptote}
  Auflösung
    -> Grafikbildschirm
    -> Rechenauflösung
B
  @{"Bogenlänge" LINK Bogenlänge}
  Bogenmaß -> Winkelmaß
C
  @{"Charakt. Gleichung." LINK CharLGS}
  Cursortasten -> Tastaturkürzel
D
  @{"Dateiendungen" LINK FILEEND}
  @{"Demoversion" LINK Demoversion}
  Drucken
    @{"- Analyseergebnisse" LINK Analyse}
    @{"- Bildschirm" LINK "Bildschirm drucken"}
    @{"- Funktionsliste" LINK Editor}
    @{"- Druckbreite" LINK DRUCKBR}
    @{"- Integralergebnisse" LINK Integrale}
E
  Editor -> Funktionseditor
  @{"Einsatzgebiet" LINK Einsatzgebiet}
  Einschränkungen -> Demoversion
  Einstellungen -> Programmeinstellungen
  Ergebnis
    - drucken -> Drucken
    @{"- einzeichnen" LINK Einzeichnen}
    - laden -> Ergebnisliste
    @{"- ~liste" LINK Ergebnisliste}
    - löschen -> Funktionsanalyse
              -> Integralberechnung
    - speichern -> Ergebnisliste
    @{"- zwischenspeichern" LINK SAVECONST}
  @{"Erweiterungen" LINK Erweiterungen}
  @{"Extrema" LINK Extrema}
F
  @{"Farben" LINK Farben}
    - einstellen -> Grafikbildschirm
    - laden      -> Grafikbildschirm
    - speichern  -> Grafikbildschirm
  @{"Fehler/Fehlermeldungen" LINK Fehler}
    @{"- allgemein" LINK "Fehler allgemein"}
    @{"- Berechnungsfehler" LINK Berechnungsfehler}
    @{"- Fehlerkorrekturen" LINK Fehlerkorrekturen}
    @{"- Matrizenrechnen" LINK "Matrixfehler"}
    @{"- melden" LINK Information}
    @{"- Eingabefehler" LINK Eingabefehler}
  @{"Flächenberechnung" LINK Flächenberechnung}
  @{"Fläche zwischen 2 Kurven" LINK "Fläche zwischen Kurven"}
  @{"Funktion" LINK Funktion}
    - laden -> Funktionseditor
    @{"- ~sanalyse" LINK Analyse}
    @{"- ~seditor" LINK Editor}
    @{"- ~sliste" LINK Funktionsliste}
      auch -> Funktionseditor
    - speichern -> Funktionseditor
    @{"- ~splotter" LINK Plotter}
    @{"- ~swert" LINK Funktionswert}
G
  @{"Garantie" LINK Garantie}
  Geschichte -> Programmgeschichte
  Gradmaß -> Winkelmaß
  Grundeinstellungen -> Programmeinstellungen
  @{"Genauigkeit" LINK Genauigkeit}
  @{"Grafikbildschirm" LINK Grafikbildschirm}
  Grafik speichern -> Grafikbildschirm
H
  @{"Hilfen" LINK Hilfen}
  Hilfslinien -> Funktionsplotter
I
  IFF -> Grafikbildschirm
  @{"Information/Informationsfenster" LINK Information}
  @{"Integral/-berechnung" LINK Integrale}
    @{"- ~funktion plotten" LINK "Integralfunktion plotten"}
    @{"- einzeichnen" LINK "Integral einzeichnen"}
  @{"Intervall" LINK Intervall}
K
  @{"Konstanten" LINK Konstanten} -> Pi
  @{"Krümmungskreis" LINK Krümmungskreis}
L
  Literatur -> Hilfen
M
  @{"Matrizen" LINK Matrizen}
    - Fehlermeldungen ->Fehler Matrizenrechnen
  Maximum/Minimum -> Extrema
  @{"Meldung" LINK Meldung}
    -> Fehler
N
  @{"Normale" LINK Normale}
  @{"Nullstellen" LINK Nullstellen}
P
  @{"Pi" LINK Pi}
  Plotter -> Funktionsplotter
  @{"Programmeinstellungen" LINK Einstellung}
  @{"Programmfehler melden" LINK Information}
  @{"Programmgeschichte" LINK Fehlerkorrekturen}
R
  Radiant -> Bogenmaß, Winkelmaß
  @{"Rechenauflösung" LINK RechAufl}
  @{"Rechenzeit" LINK Rechenzeit}
  @{"Rotationskörper" LINK Rotationskörper}
S
  @{"Schnittpunkt" LINK Schnittpunkt}  
  @{"Schranke" LINK Schranke}
  @{"Skalierungsarten" LINK Skalierungsarten}
  Speichern
    - Funktionen -> Funktionseditor
    - Ergebnisse -> Ergebnisliste
    - Grafik -> Grafikbildschirm
  @{"Statusfenster" LINK Status}
T
  @{"Tangente" LINK Tangente}
  @{"Taschenrechner" LINK Konstanten}
  @{"Tastaturkürzel" LINK Tastaturkürzel}
U
  @{"Umkehrfunktion" LINK Umkehrfunktion}
W
  @{"Wendepunkte" LINK Wendepunkte}
  @{"Winkelmaß" LINK Winkelmaß}
@ENDNODE

@NODE DUMMY "???"
$VER: FunkyGuide 4.4 (07. April 1994)
@ENDNODE

@NODE FILEEND "Dateiendungen"
Funky hängt beim Speichern von Daten automatisch kurze Endungen an den
Dateinamen an, sofern Sie dies nicht selbst tun.

Funky verwendet dabei folgende Endungen:

    *.FNK         Datei mit Funktionstermen (ASCII-Datei)
    *.ASC         Datei mit Ergebnissen     (ASCII-Datei)
    *.FMX         Datei mit Matrix          (internes Format)
    *.IFF         Bilddatei                 (IFF-ILBM-Format)
    *.PREFS       Voreinstellungen          (internes Format)
    *.CONST       Datei mit Konstanten      (internes Format)
@endnode

@NODE Matrixeingabe "Eingeben von Matrizen"
Beim Eingeben einer Matrix wird zunächst nach ihren Dimensionen gefragt.
Die Angabe erfolgt nach dem Prinzip a x b - Matrix (Zeile x Spalte).

Unterscheiden sich die Dimensionen der alten und neuen Matrix, so wird
gefragt, ob eine neue Matrix angelegt werden soll. Die Daten der alten
Matrix können auf Wunsch übernommen werden.

Im Editor können sie die Daten entweder zeilen- oder spaltenweise einge-
ben. Standardmäßig ist "Zeile" voreingestellt.

Nachdem sie alle Daten eingegeben haben, können sie mit den Cursortasten
beliebig in der Matrix ihren Cursor setzen (dies ist vorher auch möglich,
indem sie das Texteingabefeld deaktivieren). Wollen sie Daten in ein Feld
eingeben, so drücken sie dazu die "TAB"-Taste.

Wenn sie zwischen zeilen- und spaltenweiser Eingabe umschalten, wird der
Editor automatisch in den Eingabemodus umgeschaltet.

Der Eingabemodus bleibt solange aktiv, bis das rechte untere Feld einge-
geben wurde.

Bemerkung: Im Eingabemodus schaltet das Programm automatisch von einer
           Zelle zur nächsten.
@ENDNODE

@NODE CharLGS "Charakteristische Gleichung"
Man benötigt die charakteristische Gleichung einer Matrix zur Bestimmung
der sog. Eigenwerte.

Funky berechnet das Gleichungssystem und gibt es als Matrix aus. In der
Regel steht das Ergebnis als Spaltenvektor da:

       -1
        2
        3
        4

Dies bedeutet:   -1*x^3 + 2*x^2 + 3*x^1 + 4*x^0

               =   -x^3 + 2*x^2 + 3*x + 4

Außerdem wird diese Gleichung automatisch in die Liste der Funktionen
mit aufgenommen.

Eine Bestimmung der Eigenwerte ist somit durch die Bestimmung der
Nullstellen im Analysemodul leicht möglich.

Anmerkung: Falls wenig Speicher vorhanden ist kann es sein, daß das
           Ergebnis als Zeilenvektor in umgekehrter Reihenfolge aus-
           gegeben wird.
           
           Obiges Ergebnis würde somit zu:
           
           4   3   2   -1
           
           Eine Aufnahme in die Funktionsliste unterbleibt unter
           Umständen ebenfalls.
           
           Funky gibt dann eine entsprechende Fehlermeldung
           ("Zu wenig Speicher!") aus.
@ENDNODE

@NODE Matrizen "Das Matrizenrechnen"
Das Matrizenrechnen
*******************

In diesem Modul haben sie die Möglichkeit, bis zu 2 Matrizen miteinander
zu verketten sowie diverse Operationen an einer Matrix auszuführen.

Die Ergebnisse werden in einem dritten Speicherbereich abgelegt.

Mit den Schaltern "Eingabe Matrix A" und "Eingabe Matrix B" können sie
Daten in die jeweilige Matrix eingeben. Die "Tausche ..."-Schalter bieten
ihnen die Möglichkeit, Matrizen untereinander zu vertauschen. Dies ist
dann sinnvoll, wenn sie zum Beispiel mit einem Ergebnis noch weiterrechnen
wollen. Sofern sie unter @{"Programmeinstellungen" LINK Einstellung} unter dem Punkt
"Meldungen" "Immer" eingestellt haben, so gibt Funky bei jeder Tauschaktion
eine entsprechende Meldung aus.

Die Textfelder "Matrix A" usw. geben die Dimensionen der aktuellen Matrizen
an. Die größe einer Matrix ist nur durch den zur Verfügung stehenden
Speicher begrenzt.

Angebotene Funktionen:

 @{"Eingabe einer Matrix" LINK Matrixeingabe}
 
 c * A                      Multiplikation von Matrix A mit einer Konstanten
 A ^ n                      Bestimmung von Potenzen der Matrix A
 Transp. A                  Transponieren von Matrix A
 Gleichungssystem A         Berechnung eines linearen Gleichungssystems
                            (eindeutig)
 Det A                      Berechnung der Determinante
 Inv A                      Invertieren der Matrix
 @{"Charakt. Gleichung A" LINK CharLGS}       Aufstellen der charakt. Gleichung
 |Vek A|                    Betrag des ersten Spaltenvektors von A
 
 A * B                      Matrix-Multiplikation von A und B
 A + B                      Addition von A und B
 A - B                      Subtraktion von A und B
 Winkel Vek A,Vek B         Winkel zwischen den ersten Spaltenvektoren
                            von A und B
 
 @{"Einstellungen" LINK Einstellung}      Führt ins Einstellungsmenü
 
 Ergebnis sehen     Zeigt die Ergebnismatrix an (sofern vorhanden)

@ENDNODE

@node Erweiterungen "Vorgesehende Erweiterungen"
Für die Zukunft sind folgende Erweiterungen geplant:

 1. Einfügen von Text/Linien auf dem Grafikbildschirm
 2. Modul für Berechnungen der Analytischen Geometrie
 3. öffnen von Grafikbildschirmen anderer Auflösung
    (vorraussichtlich auf Workbench 2.1 beschränktes Feature)
 4. Verbesserung der Ableitungsroutine/
    evtl. neue Vereinfachungsalgorithmen
    
Falls entsprechende Nachfrage besteht:
 
 - evtl. ein Stochastik-Modul
 - Umrechnung Physikalischer Einheiten
 - Online-Hilfe über AmigaGuide?
 - logarithmische Koordinatensysteme?
 - Polarkoordinaten?
 - ...???
@endnode

@NODE Garantie "Garantie für Programm/Ergebnisse..."
Der Autor übernimmt keinerlei Haftung für Schäden, die auf die Benutzung
des Programmes zurückzuführen sind!

Funky ist ein sehr komplexes Mathematikprogramm. Es hat eine Entwicklungs-
zeit von über 2 Jahren hinter sich und hat zahlreiche Tests durchlaufen.

Aber: Nobody is perfect! Es kann vorkommen, daß Funky Fehler macht. Dies
ist vom Programmierer bestimmt nicht beabsichtigt, aber leider
unvermeidlich. (Benachrichtigen Sie mich bitte!!)

Seien sie vor allem bei symbolischen Ableitungen etwas vorsichtig, da
hierbei in der Vergangenheit gerne Fehler aufgetreten sind.

Deshalb:

@{"Überprüfen" LINK "Ableitung prüfen"} Sie eine symbolische Ableitung!

Auch bei der Berechnung von Extremstellen, Wendepunkten etc. können unter
umständen @{"Fehler" LINK Fehler} bzw. Ungenauigkeiten auftreten, vor allem dann, wenn
eine zu große Genauigkeit gefordert wird.

Es sei hier betont:

  SIE BENUTZEN FUNKY AUF EIGENE GEFAHR!!!
  
  ICH GEBE KEINERLEI GARANTIE AUF DIE RICHTIGKEIT ODER GENAUIGKEIT
  DER VON FUNKY PRODUZIERTEN ERGEBNISSE!!!
  
  EBENSOWENIG HAFTE ICH FÜR JEGLICHE SCHÄDEN DIE DURCH FUNKY ENTSTEHEN!!
@ENDNODE

@NODE "Ableitung prüfen" "Überprüfung einer symbolischen Ableitung"
Um eine symbolische Ableitung zu überprüfen lassen sie im @{"Plotter" LINK Plotter} zunächst
die numerische Ableitung der ursprünglichen Funktion ausgeben.

Dann plotten sie in einer anderen Farbe die symbolische Ableitung.

Beide Kurven müssen deckungsgleich sein. Abweichungen dürfen HÖCHSTENS
bei Funktionen auftreten, die stark hin und her schwingen, zum Beispiel
f(x) = sin(1/x)
@ENDNODE

@NODE Einsatzgebiet "Gedachtes Einsatzgebiet für das Programm"
Funky wurde programmiert, um bei Aufgaben aus dem Bereich der Analysis
ein Werkzeug zu haben, mit dem man im Wesentlichen seine selbst errechneten
Ergebnisse kontrollieren kann.

Funky ist weniger dazu gedacht, selbständig Aufgaben zu lösen, obwohl dies,
je nach gefordertem Ergebnis, durchaus möglich ist. Es darf jedoch nicht
erwartet werden, daß Funky immer ideale Ergebnisse liefert.

Im Allgemeinen erhalten sie Näherungslösungen oder, im Falle einer
Ableitung, eine Funktion, die sie noch weiter vereinfachen können.

Die Entwicklungszeit des Programmes beträgt jetzt etwa zwei Jahre.

Es sei hier betont:

  SIE BENUTZEN FUNKY AUF EIGENE GEFAHR!!!
  
  ICH GEBE KEINERLEI GARANTIE AUF DIE RICHTIGKEIT ODER GENAUIGKEIT
  DER VON FUNKY PRODUZIERTEN ERGEBNISSE!!!
  
  EBENSOWENIG HAFTE ICH FÜR JEGLICHE SCHÄDEN DIE DURCH FUNKY ENTSTEHEN!!

s.a. @{"Information" LINK Information}
@ENDNODE

@NODE Tastaturkürzel "Verwendete Tastaturkürzel"
Mögliche Tastaturkürzel erkennt man an den unterstrichenen Buchstaben
im Schalter oder in den Pull-Down-Menüs an der Kombination mit der
AMIGA-Taste (siehe Amiga-Handbücher).

Allgemein kann ein "Ok"-Schalter immer mit <RETURN> angewählt werden und
ein "Zurück"-Schalter mit einem großen <Z> bzw. <ESC>.

Aus Listen kann, bis auf den Funktionseditor, mit den Cursortasten
(Pfeil hoch, Pfeil runter) ausgewählt werden. Auch die Ergebnisliste
kann mit den Cursortasten gescrollt werden.

Im Funktionseditor/Konstanteneditor muß eine Funktion/Konstante per Maus
ausgewählt werden.

@ENDNODE

@node Funktion "Begriff: Funktion"
Eine Funktion ist ein mathematischer Ausdruck der Form

                            f: y = f(x)

Jedem X-Wert wird dabei ein Y-Wert zugeordnet.

Funky unterstützt folgende Grundfunktionen:

sin(), cos(), tan(), cot(), asin(), acos(), atan(), acot(), sinh(),
cosh(), tanh(), coth(), asinh(), acosh(), atanh(), acoth(),

sqrt(), abs(), sgn(), ln(), log(), exp()

Grundrechenarten: +, -, *, /, ^ sowie Klammern ( und ).

Als Konstante ist nur P für @{"Pi" LINK Pi} implementiert.

"E"/"e" wird für die wissenschaftliche Notation von Zahlen benötigt,
z.B. "1.454e-3" = 1.454 * 10^(-3) = 0.001454

Funky konvertiert sämtliche Buchstaben in Großbuchstaben.

Die Variablen A, B, C, D sowie Y und Z werden gegenwärtig noch nicht
weiter unterstützt und intern auf 0.0 gesetzt.
@endnode

@NODE Einstellung "Programmeinstellungen"
Im Fenster "Einstellung" werden einige grundlegende Parameter eingestellt.

Dies sind:

  @{"Schranke" LINK Schranke}
    
  @{"Auflösung" LINK RechAufl}
    
  @{"Genauigkeit" LINK Genauigkeit}
  
  @{"Druckbreite" LINK DRUCKBR}

  @{"Analyse" LINK AnalyseArt}
  
  @{"Winkelmaß" LINK Winkelmaß}
  
  @{"Meldung" LINK Meldung}
  
  @{"Speichern" LINK SAVECONST}
    
Mit "Laden" und "Speichern" können die Einstellungen geladen/gespeichert werden. Falls im
Verzeichnis die Datei "Funky.prefs" vorliegt, so wird dieses beim Programmstart automatisch
geladen.
@ENDNODE

@node DRUCKBR "Druckbreite"
Unter "Druckbreite" wird die Breite des Grafikausdrucks in Zoll
eingestellt.
@endnode

@node SAVECONST "Zwischenspeichern von Konstanten"
Sie können wählen, ob Funky die errechneten Ergebnisse grundsätzlich
in den Konstantenspeicher überträgt, nur einzelne Ergebnisse überträgt
oder dies völlig unterläßt.

Die Einstellung wird im Einstellungsmenü vorgenommen.

"Immer": Es werden sowohl einzelne Werte gespeichert als auch
         eine Reihe von Ergebnissen (z.B. Nullstellen, Wendepunkte)

"Einzelerg.": Es werden nur 'einzelne' Ergebnisse gespeichert.
              (z.B. Funktionswert, Fläche, Determinante)

"Nie": Ergebnisse werden nicht in den Konstantenspeicher übertragen.

Anmerkung: Wertetabellen werden grundsätzlich nicht gespeichert!
@endnode

@NODE Schranke "Begriff: Schranke"
Der Wert Schranke bewirkt im wesentlichen zwei Dinge:

Wird beim @{"Numerischen Ableiten" LINK "Numerische Ableitung"} dieser Wert überschritten, so wird
der Ableitungswert an dieser Stelle nicht gemäß der geforderten
@{"Genauigkeit" LINK Genauigkeit} berechnet. Dies ist sinnvoll, um Rechenzeit zu sparen.

Außerdem wird er bei der Suche nach @{"Asymptoten" LINK Asymptote}  verwendet.
Überschreitet der Funktionswert an einer Stelle den Schranken-Wert, so
interpretiert Funky dies als eine Asymptote.
@ENDNODE

@NODE RechAufl "Begriff: Rechenauflösung"
Die Rechenauflösung entspricht der Rasterung einer Kurve.

Es ist nicht möglich, eine Funktion wirklich an jeder Stelle zu
untersuchen, also muß man sie rastern. Der Wert bei "Auflösung" gibt an,
in an wievielen Stellen in einem @{"Intervall" LINK Intervall} ein Funktionswert
berechnet bzw. untersucht werden soll.

Je größer dieser Wert gewählt wird, desto feiner ist die Rasterung.
Andererseits steigt aber auch die Rechenzeit merklich an.

In der Regel sollte dieser Wert der Bildschirmbreite im @{"Plotter" LINK Plotter}
entsprechen.
@ENDNODE

@NODE Genauigkeit "Begriff: Genauigkeit"
Genauigkeit gibt an, auf wieviele Stellen hinter dem Komma

@{"Numerische Ableitungen" LINK "Numerische Ableitung"}, @{"Nullstellen" LINK Nullstellen},

@{"Maxima/Minima" LINK Extrema}, @{"Wendepunkte" LINK Wendepunkte}, @{"Schnittpunkten" LINK Schnittpunkt},

@{"Tangenten" LINK Tangente}, @{"Normalen" LINK Normale} und @{"Integrale" LINK Integrale}

berechnet werden sollen. Ein Wert von 0.001 heißt, daß die ersten beiden
Nachkommastellen zuverlässig berechnet werden und daß die dritte Nachkomma-
stelle nicht mehr als 0.001 vom wahren Wert abweicht.

Dieser Wert kann nicht beliebig klein gewählt werden, da sonst unerwünschte
Effekte auftreten können (extrem lange @{"Rechenzeiten" LINK Rechenzeit}, @{"falsche Ergebnisse" LINK Fehler}).
In der Regel sollte die Genauigkeit nicht kleiner als 0.00001 gewählt
werden.
@ENDNODE

@NODE "Symbolische Ableitung" "Begriff: Symbolische Ableitung"
Funky bietet die Möglichkeit, eine @{"Funktion" LINK Funktion} nach X symbolisch abzuleiten,
das heißt, es wird nicht rechnerisch ihre Steigung bestimmt, sondern es
wird eine Ableitungsfunktion berechnet, welche es ermöglicht, die Steigung
an einer beliebigen Stelle zu berechnen.

Aus f(x)=X^2 wird symbolisch abgeleitet f'(x) = 2*x.
@ENDNODE

@NODE "Numerische Ableitung" "Begriff: Numerische Ableitung"
Ableiten heißt, man bestimmt die Steigung einer Funktion an einer
bestimmten Stelle. Dies ist numerisch nach der Formel

                       f(x+h) - f(x)
                   m = -------------
                             h

möglich, wobei h sehr klein gewählt werden muß.

Funky rechnet nach dieser Methode für immer kleinere h so lange, bis die
vom Benutzer geforderte Genauigkeit erreicht ist.
@ENDNODE

@NODE AnalyseArt "Begriff: AnalyseArt"
Beim Schalter "Analyse" können sie zwischen zwei Arten von Berechnung
wählen.

1. Rechnen mit der @{"Numerischen Ableitung" LINK "Numerische Ableitung"},

2. Rechnen mit der @{"Symbolischen Ableitung" LINK "Symbolische Ableitung"}

Das Rechnen mit der symbolischen Ableitung ist genauer, aber bei stark
verschachtelten oder sehr langen Funktionen nicht immer möglich. Dann
greift Funky automatisch auf die numerische Berechnung zurück.

Funky versucht, bei der Funktionseingabe automatisch, die ersten beiden
Ableitungen symbolisch zu berechnen.
@ENDNODE

@NODE Winkelmaß "Begriff: Winkelmaß"
Funky unterstützt gegenwärtig zwei verschiedenen Winkelmaße:


  1. Das Gradmaß von 0° bis 360°

  2. Das Bogenmaß von 0 bis 2*Pi
@ENDNODE

@NODE Rechenzeit "Begriff: Rechenzeit"
Die bei einem Vorgang benötigte Rechenzeit hängt hauptsächlich davon ab,
wie komplex eine Funktion ist. Je komplexer, desto länger.

Am meißten Rechenzeit benötigen folgende Vorgänge:

- Plotten der numerisch berechneten 2. Ableitung
- Ausrichten des Koordinatenkreuzes nach der 2. numerischen Ableitung
- Suchen von Wendepunkten mit numerischer Ableitung

Bei sehr rechenintensiven Vorgängen wird in der Regel im @{"Statusfenster" LINK Status}
ein Balken erscheinen, der zeigt, wie weit die Berechnung fortgeschritten
ist.
@ENDNODE

@node Status "Begriff: Statusfenster"
Das Statusfenster erscheint immer dann, wenn Funky Berechnungen ausführt,
die etwas länger dauern können.

Je nach Art der Berechnung zeigt Funky durch einen von links nach
rechts wachsenden blauen Balken an, wie weit es mit der Berechnung
fortgeschritten ist.

Werden Berechnungen zwei mal durchgeführt, so wird beim ersten mal ein
schwarzer Balken gezeigt, danach ein blauer.
@endnode

@NODE Meldung "Begriff: Meldung"
Bei "Meldung" kann eingestellt werden, ob Funky bei der Eingabe von
Funktionen im Editor bzw. beim Laden, bei jedem auftretenden @{"Fehler" LINK Fehler}
eine Meldung ausgeben soll, oder nur dann, wenn der Fehler nicht
behebbar ist.

Dies ist in sofern sinnvoll, als daß Funky automatisch die ersten beiden
Ableitungen berechnet. Es kommt dabei häufig vor, daß eine Funktion zu
komplex ist um zweimal oder sogar nur einmal abgeleitet zu werden. Bei
Anwahl von "Wenn nötig" wird die Fehlermeldung "... zu komplex"
unterdrückt, ansonsten wird sie angezeigt:

"1. Ableitung ERR 16: Funktion zu komplex" oder

"2. Ableitung ERR 16: Funktion zu komplex".

Außerdem wird bei der Einstellung "Wenn nötig" im Matrixmodul die
Bestätigung des Vertauschens von 2 Matrizen unterdrückt.
@ENDNODE

@NODE Pi "Begriff: Pi"
Pi ist die Kreiskonstante (Wert: Pi = 3,14159...). Sie wird beim Rechnen
im Bogenmaß sowie bei diversen Volumenberechnungen verwendet.

In Funktionen kann Pi durch "p" eingegeben werden.

Andere Konstanten können mit dem @{"Konstanteneditor" LINK Konstanten} verwaltet werden.

@ENDNODE

@NODE Plotter "Der Funktionsplotter"
Der Funktionsplotter ermöglicht die grafische Darstellung von
@{"Funktionstermen" LINK Funktion}.

"X 1" und "X 2" bestimmen das zu plottende @{"Intervall" LINK Intervall}.
"Y 1" und "Y 2" bestimmen den Y-Achsen-Abschnitt, der geplottet werden
                soll.
"MarkX" und MarkY" bestimmen die Abstände, in denen Markierungen angebracht
werden sollen.

Einige dieser Eingaben sind je nach Einstellung von "Skalieren"
deaktiviert.

@{"Winkelmaß" LINK Winkelmaß} bestimmt das zu verwendende Winkelmaß.

Mit Skalieren können sie verschiedenen @{"Skalierungsarten" LINK Skalierungsarten} auswählen.

"Farbe" bestimmt die für das Einzeichnen von Funktionen zu verwendende
@{"Farbe" LINK Farben}.

Mit "Plotten" kann gewählt werden, ob die Funktion selber, die
@{"1./2. Ableitung" LINK "Ableitungen plotten"}, die @{"Umkehrfunktion" LINK Umkehrfunktion} oder die @{"Integralfunktion" LINK "Integralfunktion plotten"}
geplottet werden soll.

Mit "Hilfslinien" kann gewählt werden, ob das Plotergebnis mit gepunkteten
Hilfslinien hinterlegt werden soll, oder ob nur die Hauptachsen er-
scheinen sollen.

Ist "Neues Achsenkreuz" gewählt, so wird der @{"Grafikbildschirm" LINK Grafikbildschirm} gelöscht und
ein neues Achsenkreuz gezeichnet.

In der Funktionsliste muß die zu plottende Funktion gewählt werden.

Mit "Ok" führt Funky seine Berechnung aus,

mit "Sehen" gelangen sie in den Grafikbildschirm ohne Berechnung,

mit "Editor" gelangen sie in den @{"Funktionseditor" LINK Editor},

mit "Einstellungen" können sie verschiedene @{"Grundeinstellungen" LINK Einstellung}
verändern und

mit "Zurück" kehren sie in das aufrufende Modul oder in das Hauptmenü
zurück. 
@ENDNODE

@node "Integralfunktion plotten" "Plotten von Integralfunktionen"
Eine Integralfunktion wird immer so geplottet, daß sie durch den Ursprung
des Koordinatenkreuzes geht. (Integral von 0 bis x)

ACHTUNG: Achten Sie darauf, daß die Funktion über den gesamten Bereich
         definiert ist (keine senkrechten Asymptoten enthält), sonst
         können Sie unangenehme Überraschungen erleben...
         (Rechner läuft sich "tot" da Fläche gegen Unendlich geht.
          Versuchen Sie in diesem Fall, den Rechenvorgang mit <ESC>
          abzubrechen. Es dauert jedoch eine Weile, bis Funky darauf
          reagiert!)
@endnode

@NODE "Ableitungen plotten" "Plotten einer Ableitung"
Beim Plotten der Ableitung wird berücksichtigt, ob in Einstellungen die
@{"numerische" LINK "Numerische Ableitung"} oder @{"symbolischen Ableitungen" LINK "Symbolische Ableitung"} gewählt wurden.

Wollen sie eine @{"symbolische Ableitung überprüfen" LINK "Ableitung prüfen"}, so achten sie darauf,
daß "Num Abl." eingestellt wurde!
@ENDNODE

@NODE Umkehrfunktion "Plotten einer Umkehrfunktion"
Beim Plotten der Umkehrfunktion wird einfach eine Spiegelung an der
1. Winkelhalbierenden durchgeführt. Dies führt dazu, daß die entstehende
Kurve zwei oder mehr Y-Werte für einen X-Wert aufweisen kann.

Sie entspricht somit nicht ganz der rechnerischen Umkehrfunktion.
@ENDNODE

@NODE Skalierungsarten "Begriff: Skalierungsarten"
Der Funktionsplotter kennt vier verschiedene Arten, ein Koordinatenkreuz
einzurichten:

1. "Manuel": X- und Y-Achsenabschnitte werden vom Benutzer vorgegeben.

2. "Nach X": Der Y-Achsenabschnitt wird von einem vom Benutzer gewählten
             "Y 1" (kleinster Y-Wert) so gewählt, daß keine Verzerrungen
             auftreten.

3. "Nach Y": Wie "Nach X", nur mit der Y-Achse als Bezugsachse

4. "Automat.": Der Benutzer gibt nur einen X-Achsenabschnitt vor.
               Funky wählt den Y-Achsenabschnitt so, daß die zu
               plottende Funktion voll auf dem Bildschirm erscheint.
               Auch die Markierungen werden in sinnvollen Abständen
               angebracht.
@ENDNODE

@NODE "Bildschirm drucken" "Ausdrucken des Grafikbildschirm (Hardcopy)"
Bevor Funky den Bildschirm ausdruckt fragt das Programm noch nach
der Druckbreite in Zoll.

Es wird der in den Preferences eingestellte Druckertreiber benutzt.
@ENDNODE

@NODE Grafikbildschirm "Der Grafikbildschirm"
Auf dem Grafikbildschirm bieten sich die Möglichkeiten:

- die Farbeinstellung zu verändern/zu laden/zu speichern
  sowie die Farbnamen zu ändern.

- den @{"Bildschirm auszudrucken" LINK "Bildschirm drucken"}

- den Bildschirm im IFF-Format zu speichern

Der Grafikbildschirm hat grundsätzlich eine Auflösung von 640*512 im
Grafikmodus HiRes-Interlace. Somit wird eine in der Regel ausreichende
Druckqualität erreicht.

Das Plotten einer Funktion kann durch drücken der <ESC>-Taste abgebrochen
werden!
@ENDNODE

@NODE Asymptote "Begriff: Asymptote"
Eine Asymptote ist eine Stelle in einer Funktion, an der ihr Wert gegen
+oo oder -oo strebt. Funky kann diese Stellen aufspüren.

Dies funktioniert jedoch nicht immer. Wird eine im Plotter sichtbare
Asymptote nicht gefunden, so sollte die Auflösung in den Programmein-
stellungen feiner gewählt werden.
@ENDNODE

@NODE Nullstellen "Begriff: Nullstellen"
An einer Nullstelle ist der Y-Wert der Funktion Null.

Bei der Berechnung von berührenden Nullstellen wird noch die erste
Ableitung untersucht, um herauszufinden, ob die Funktion an einem
Maximum oder Minimum die X-Achse berührt.
@ENDNODE

@NODE Extrema "Begriff: Extremwerte (Maxima/Minima)"
Für die Suche nach Extremwerten (Maxima und Minima) wird die 1. Ableitung
einer Funktion herangezogen.

Wird diese Null, und liegt ein Vorzeichenwechsel vor, so handelt es sich
um einen Extremwert.

Funky unterscheidet zwischen Minima und Maxima.
@ENDNODE

@NODE Wendepunkte "Begriff: Wendepunkte"
Für die Suche nach Wendepunkten (auch Terassenpunkte genannt) wird die
2. Ableitung herangezogen.

Wird diese Null und liegt ein Vorzeichenwechsel vor, so handelt es sich
um einen Wendepunkt.

Funky unterscheidet zwischen einem Wechsel von einer Linkskurve zu einer
Rechtskurve und umgekehrt.
@ENDNODE

@NODE Tangente "Begriff: Tangente"
Die Tangente an einer Kurve wird mit Hilfe der 1. Ableitung berechnet und
(incl. Berührpunkt) in der Form

  Y = m * x + c
  
ausgegeben.
@ENDNODE

@NODE Normale "Begriff: Normale"
Die Normale an einer Kurve wird mit Hilfe der 1. Ableitung berechnet und
in der Form:

  Y = m * x + c     oder

  X = b             falls m gegen oo streben würde,
  
ausgegeben.
@ENDNODE

@NODE Funktionswert "Begriff: Funktionswert"
Bei der Berechnung des Funktionswertes werden auch die Werte der 1. und
2. Ableitung mit ausgerechnet.

Eventuelle Fehler werden angezeigt.

Es ist auch möglich, eine Wertetabelle berechnen zu lassen, indem
in A und B Start- und Endwert eingetragen werden. Funky will dann
eine Schrittweite wissen und berechnet dann an den entsprechenden
Stellen Funktionswerte und 2 Ableitungen.

Falls Sie nur einen Funktionswert benötigen und bei A eine negative
Zahl eingeben, so fragt Funky auch nach einer Schrittweite. Lassen
Sie hier einfach 0.0000 stehen, so berechnet Funky auch nur einen
Wert.
@ENDNODE

@NODE Schnittpunkt "Begriff: Schnittpunkt"
Beim Berechnen eines Schnittpunktes muß zunächst eine 2. Funktion aus
der @{"Funktionsliste" LINK Funktionsliste} gewählt werden.

Danach wird nach Schnitt- und Berührpunkten gesucht.

Funky unterscheidet zwischen einem normalen Schnittpunkt, einem Berührpunkt
und einem senkrechten Schnitt.
@ENDNODE

@node "Krümmungskreis" "Begriff: Krümmungskreis"
Funky berechnet hier den Radius sowie den Mittelpunkt des Krümmungs-
kreises an die Kurve in einem bestimmten Punkt.
@endnode

@NODE Intervall "Begriff: Intervall"
Eine Funktionsanalyse erfolgt immer in einem vom Benutzer zu bestimmenden
Intervall [a,b].

NUR in diesem Intervall wird die Untersuchung/Berechnung durchgeführt.

Achten Sie bei Integralberechnungen darauf, daß die Funktion in diesem
Intervall keine senkrechten Asymptoten aufweist. Ansonsten rechnet sich
Funky an diesen Stellen unter umständen "zu tode", da der Flächeninhalt
gegen unendlich gehen kann.
@ENDNODE

@NODE Analyse "Die Funktionsanalyse"
Das Analysemodul von Funky erlaubt es, eine aus der Funktionsliste
gewählte Funktion zu untersuchen.

Es werden folgende Untersuchungen angeboten:

@{"Nullstellen" LINK Nullstellen}                    @{"Maxima/Minima" LINK Extrema}

@{"Wendepunkte" LINK Wendepunkte}                    @{"Schnittpunkte mit..." LINK Schnittpunkt}

@{"Asymptoten" LINK Asymptote}                     @{"Tangente bestimmen" LINK Tangente}

@{"Funktionswert(e) bestimmen" LINK Funktionswert}     @{"Normale bestimmen" LINK Normale}

@{"Krümmungskreis bestimmen" LINK Krümmungskreis}


Mit "zeichnen" können die @{"Ergebnisse eingezeichnet" LINK Einzeichnen} werden.

Außerdem kann verzweigt werden in den @{"Funktionseditor" LINK Editor}, das
@{"Einstellungsmenü" LINK Einstellung} und den @{"Funktionsplotter" LINK Plotter}.

Mit "Erg. drucken" wird die @{"Ergebnisliste" LINK Ergebnisliste} ausgedruckt, mit

Mit "Erg. laden" bzw. "Erg. speichern" kann die Ergebnisliste gespeichert
werden, bzw. auch eine beliebige ASCII-Datei in die Ergebnisliste
geladen werden.

Mit "Erg. löschen" wird die Liste gelöscht.

"Zurück" führt zurück ins Hauptmenü.
@ENDNODE

@NODE Einzeichnen "Einzeichnen von Ergebnissen (automat.)"
Das Einzeichnen von Ergebnissen erfolgt entweder nicht oder in der
gewählten @{"Farbe" LINK Farben}.

Einzeichnen ist nur möglich, wenn vorher mindestens eine (beliebige)
Funktion geplottet wurde, da ansonsten der @{"Grafikbildschirm" LINK Grafikbildschirm}
nicht geöffnet wurde.
@ENDNODE

@NODE Ergebnisliste "Die Ergebnisliste"
In die Ergebnisliste werden alle errechneten Ergebnisse eingetragen.

Mit "Erg. laden" bzw. "Erg. speichern" kann die Ergebnisliste gespeichert
werden, bzw. auch eine beliebige ASCII-Datei in die Ergebnisliste
geladen werden.

Beim Speichern wird die Liste als einfache ASCII-Datei gespeichert.
Sie kann somit mit praktisch jedem Editor oder Textverarbeitungsprogramm
weiter bearbeitet werden.
@ENDNODE

@NODE Farben "Die verwendeten Farben"
Die Namen der Farben müssen nicht unbedingt mit den tatsächlichen
Farben übereinstimmen. Dies ist z.B. der Fall, wenn die voreingestellten
Farben vom Benutzer verändert wurden, und die Farbnamen dabei nicht
angepaßt wurden.
@ENDNODE

@NODE Integrale "Die Integralberechnung"
Im Modul für Integralberechnung können für eine @{"Funktion" LINK Funktion}, die aus der
@{"Funktionsliste" LINK Funktionsliste} gewählt wurde, folgende Berechnungen ausgeführt werden:

@{"Fläche unter der Kurve" LINK "Flächenberechnung"}              @{"Rotationskörpervolumen" LINK Rotationskörper}

@{"Mantel-/Oberflächenbestimmung" LINK "Mantel- und Oberfläche"}       @{"Bogenlänge" LINK Bogenlänge}

@{"Fläche zwischen 2 Kurven" LINK "Fläche zwischen Kurven"}

Achten sie bei den Berechnungen darauf, daß die Funktion(en) im
@{"Berechnungsintervall" LINK Intervall} keine Asymptoten aufweisen!

Flächen können grundsätzlich positiv behandelt werden, oder auch negativ.
Dies wird vor allem im physikalischen Bereich benötigt.
("Flächenbehandlung")

Als Rotationsachse kann die X- oder Y-Achse gewählt werden. ("Rotation")

Auch diese Ergebnisse können mit "Zeichnen" @{"eingezeichnet" LINK "Integral einzeichnen"} werden.

"Erg. drucken" druckt die @{"Ergebnisliste" LINK Ergebnisliste} aus, "Erg. löschen"
löscht die Liste.

Mit "Erg. laden" bzw. "Erg. speichern" kann die Ergebnisliste gespeichert
werden, bzw. auch eine beliebige ASCII-Datei in die Ergebnisliste
geladen werden.

Das Integralmodul kann in den @{"Funktionseditor" LINK Editor}, @{"Funktionsplotter" LINK Plotter} und
das @{"Einstellungsmenü" LINK Einstellung} verzweigen.

"Zurück" führt zurück zum Hauptmenü.
@ENDNODE

@node Funktionsliste "Die Funktionsliste"
Aus der Funktionsliste können Sie, wie im Editor auch, Funktionen laden,
speichern und drucken.

Wählen Sie aus der Liste eine Funktion aus und bestätigen Sie dies mit
"Ok" (bzw. <RETURN>) oder wählen Sie "Zurück" (= <ESC>) um den Vorgang
abzubrechen.
@endnode

@NODE "Integral einzeichnen" "Einzeichnen von Integralberechnungen"
Das Einzeichnen von Integralen geschieht unter den gleichen Bedingungen
wie das @{"Einzeichnen im Analysemodul" LINK Einzeichnen}.

Für Flächen wird eine Querschraffur (//), für Volumina eine
Kreuzschraffur (X) und für Oberflächen eine senkrechte Schraffur (||)
verwendet.
@ENDNODE

@NODE Flächenberechnung "Begriff: Flächenberechnung"
Bei der Flächenberechnung wird die Fläche zwischen Kurve und X-Achse
im vom Benutzer bestimmten @{"Intervall" LINK Intervall} bestimmt.
@ENDNODE

@NODE "Mantel- und Oberfläche" "Begriff: Mantel- und Oberfläche"
Die Mantel- und Oberfläche eines Rotationskörpers um die entsprechende
Achse im gegebenen @{"Intervall" LINK Intervall} wird bestimmt.

Der Wert ist grundsätzlich positiv!
@ENDNODE

@NODE "Fläche zwischen Kurven" "Begriff: Fläche zwischen Kurven"
Die Fläche zwischen 2 Kurven wird bestimmt. Dabei werden grundsätzlich
positive Flächen berechnet!
@ENDNODE

@NODE "Bogenlänge" "Begriff: Bogenlänge"
Die Länge der Kurve in einem @{"Intervall" LINK Intervall} wird bestimmt.
@ENDNODE

@NODE "Rotationskörper" "Begriff: Rotationskörper"
Das Volumen eines Rotationskörpers in einem gegebenen @{"Intervall" LINK Intervall}  wird
berechnet.
@ENDNODE

@NODE Ableitung "Begriff: Ableitung"
Funky bietet die Möglichkeit, eine symbolische Ableitung einer Funktion
zu erzeugen. Dabei wird nach der Variablen X abgeleitet.

Der durch den eigentlichen Algorithmus entstandene Funktionsterm wird
durch einen zweiten Algorithmus etwas vereinfacht und ausgegeben, sowie
in die Funktionsliste aufgenommen.

ACHTUNG: @{"Überprüfen" LINK "Ableitung prüfen"} Sie den entstandenen Funktionsterm auf seine
         Richtigkeit, um eventuelle Fehler bei weiteren Berechnungen
         zu vermeiden!
@ENDNODE

@NODE Information "Das Informationsfenster"
Im Informationsfenster erfahren Sie alle wichtigen Daten über das Programm.

Das Programm ist Public Domain und darf frei vertrieben werden.

Beim Vertrieb darf eine Kopiergebühr von NICHT MEHR ALS 5 DM verlangt
werden!

(Das soll natürlich niemanden davon abhalten, mir einen angemessenen
 Geldbetrag zukommen zu lassen... :-) )

Es müssen folgende Files als Paket vertrieben werden (gepackt oder
entpackt, im entpackten Zustand in einem eigenen Verzeichnis)

  README                Kurzes Info-File
  README.info
  Funky                 Programm
  Funky.info
  Funky.guide           Diese Anleitung!
  Funky.guide.info
  Funky.PREFS           Standard-Einstellungen
  Funky.PAL             Standard-Farbeinstellungen
  Physik.CONST          Physikalische Konstanten
  Mathematik.CONST      Mathematische Konstanten
  Fehler.ASC            Vorlage für Fehlermeldungen
  

Kommentare, Fehlermeldungen, gute Ideen, Erweiterungswünsche, Geschenke
etc. bitte an:

                            Peter F. Gath
                          Gabäckerweg 40/1
                          73630 Remshalden

Falls Fehler auftreten sollten, vergessen Sie bitte nicht, die verwendete
Programmversion anzugeben und den Fehler möglichst genau zu beschreiben.
Verwenden Sie am besten die Vorlage Fehler.ASC !!

Der Autor übernimmt keine Haftung für Schäden, die auf die Benutzung des
Programmes zurückzuführen sind.
@ENDNODE

@NODE Hilfen "Quellen und verwendete Hilfen"
Im folgenden sind die zur Programmierung verwendeten Hilfen aufgeführt.

Vielen Dank für Source-Code an:

  Randy C. Finch  - Numerische Berechnung von Funktionsstrings
                    Source Code of 3DPlot Function Interpreter V2.0
                    AmigaLibDisk440:3DPlot/src/funceval3.c, 1987
                    
  div. Autoren im AMIGA-Magazin


Verwendete Literatur:

 - Commodore Amiga Inc.
   AMIGA ROM Kernel Reference Manual Third Edition, Includes and Autodocs
   AMIGA ROM Kernel Reference Manual Third Edition, Libraries
    beide Addison-Wesley, 1991
 
 - Commodore Amiga Inc.
   AmigaBASIC - Anhang E: Umschreibung transzendenter Funktionen
    Rev. 2.0
 
 - SAS Institute Inc.
   SAS/C Development System User's Guide
   SAS/C Development System Library Reference
    1992
    
 - Dr. Edgar Huckert/Frank Kremser
   AMIGA C in Beispielen
    Markt & Technik, 1987
    
 - Frank Kremser/Jörg Koch,
   AMIGA Programmierhandbuch
    Markt & Technik, 1987
    
 - Bleek/Dittrich/Gelfand/Jennrich/Schemmel/Schulz
   AMIGA intern
    DATA Becker, 1990
   
 - Klaus Ulshöfer/H.-D. Hornschuh
   Mathematische Formelsammlung für Gymnasien
    Verlag Konrad Wittwer, 1988
 
 - Sieber
   Mathematische Formeln - Erweiterte Ausgabe E
    Klett, 1987
 
 - Robert Sedgewick
   Algorithmen
    Addison-Wesley, 1991
 
 - Bronstein/Semendjajew
   Taschenbuch der Mathematik
    B.G. Teubner Verlagsgesellschaft 1991
 
 - Tilo Fischer/Hans-Jerg Dorn
   Physikalische Formeln und Daten
    Klett, 1992
 
@ENDNODE

@NODE Konstanten "Der Konstanteneditor"
Im Konstanteneditor haben Sie im Wesentlichen die gleichen Funktionen
wie im @{"Funktionseditor" LINK Editor} zur Verfügung.

Das Abspeichern der Konstanten erfolgt in einem Funky-internen Format
(aufgrund der Genauigkeit!).

Konstanten, zu denen kein Kommentar eingegeben wird, werden NICHT in
die Liste mit aufgenommen, sondern nur an das aufrufende Modul übergeben.
Somit ist eine Benutzung als "Taschenrechner" möglich, ohne die Liste
mit evtl. unnötigen Zahlen zu belasten.

Im Programmpaket werden zwei Dateien mit Konstanten mitgeliefert.

    Physik.CONST      enthält wichtige physikal. Konstanten
    
    Mathematik.CONST  enthält mathemat. Konstanten.

Hinweis: Die ?-Schalter öffnen den Konstanteneditor, so daß an den ent-
         sprechenden Stellen der Taschenrechner benutzt werden kann.
         Das Ergebnis bzw. die gewählte Konstante wird entsprechend
         übernommen.
@ENDNODE

@NODE Editor "Der Funktionseditor"
Im Editor können Sie Funktionen eingeben. Hierzu haben sie drei
Möglichkeiten:

1. Eingabe per Maus über die Eingabeschalter
2. Eingabe per Tastatur über @{"Tastaturkürzel" LINK Tastaturkürzel}
3. Eingabe über das Eingabe-Gadget (TAB-Taste drücken oder mit der
                                    Maus anklicken)

Einbinden von @{"Konstanten" LINK Konstanten} ist mit dem Schalter "???"
möglich.

Es können auch Funktionen geladen und gespeichert werden.
(Über die Üblichen Dateirequester)

Ebenso ist ein Drucken der Funktionsliste möglich. Dabei wird der
eingestellte Workbench-Druckertreiber verwendet.
@ENDNODE

@node Fehler "Fehler"

  @{"Allgemeine Fehler/Ungenauigkeiten" LINK "Fehler allgemein"}
  
  @{"Fehlermeldungen bei der Funktionseingabe" LINK "Eingabefehler"}
  
  @{"Fehlermeldungen bei der Berechnung" LINK "Berechnungsfehler"}
  
  @{"Fehlermeldungen beim Matrizenrechnen" LINK "Matrixfehler"}
  
  @{"Korrigierte Fehler älterer Versionen (Programmgeschichte)" LINK "Fehlerkorrekturen"}

@endnode

@node "Matrixfehler" "Fehler beim Matrizenrechnen"
Fehler  1: Zu wenig Speicher

Fehler  2: Gleichungssystem hat keine eindeutige Lösung!

Fehler  3: Gleichungssystem hat keine Lösung!

Fehler  4: Gleichungssystem hat triviale Lösung (Nullvektor)

Fehler  5: Matrix muß quadratisch sein (n x n)
           (Beim Berechnen von Inversen und Determinanten)

Fehler  6: Matrix hat keine Inverse

Fehler  7: Zuerst Matrix A eingeben

Fehler  8: Zuerst Matrix B eingeben

Fehler  9: Matrix muß die Form (n x n+1) haben!
           (Beim Berechnen eines Linearen Gleichungssystems)
    
Fehler 10: Matrizen müssen gleiche Form haben!
           (Beim Addieren und Subtrahieren von Matrizen)

Fehler 11: Matrizen müssen die Form m x n und n x q haben!
           (Beim Multiplizieren)

Fehler 12: Nullvektoren nicht erlaubt!

Fehler 13: Matrizen müssen gleiche Zeilenzahl haben!
           (Beim Rechnen mit Vektoren)
           
Fehler 14: Exponent sollte >= 1 sein.
           Potenzbestimmung nur für Exponenten >= 1 möglich.
           0 wäre wohl nicht besonders sinnvoll...
           Für negative Exponenten bestimmen Sie zunächst die
           Inverse.
@endnode

@node Fehlerkorrekturen "Programmgeschichte"
Im folgenden Abschnitt finden Sie Fehler älterer Programmversionen,
die in der aktuellen Version beseitigt wurden, sowie Verbesserungen
und Erweiterungen die vorgenommen wurden.


Version 1.0:  - AmigaBASIC-Version.
(intern)      - nur plotten von Funktionen.
(06/89)       - "Handanpassung" der Funktion an die Bildschirm-
                koordinaten.
              - Programmname: FUNKTIONSgraf V1.0

Verbesserungen/Erweiterungen seit V1.0:

  * zahllos und nicht dokumentiert...
  

Version 1.2:  - AmigaBASIC-Version.
(16.08.92)    - langsam.
              - ungenau.
              - kein Betrieb mit Turbokarte möglich.
              - Programmname: Func
              * gewisse "Ähnlichkeiten" mit der heutigen Version...

Verbesserungen/Erweiterungen seit V1.2:

  * zahllos und nicht dokumentiert...
  

Version 2.0:  * Umschreiben auf C.
(intern)      * Programmname: Funky


Version 3.0:  * erste voll lauffähige C-Version.
(intern)


Version 3.98: - Eingabe mehrstelliger Zahlen im Editor war nur direkt
(Demoversion)   im String-Gadget möglich, nicht jedoch per Maus.
(04.10.93)      Funky fügte immer einen Malpunkt ein.
                Aus 14 wurde somit 1*4!
              - Funky speicherte IFF-Bilder unkomprimiert.
              - Ergebnisliste wurde automatisch gelöscht, wenn das
                Analysemodul oder das Integralmodul aktiviert wurden.
              - Funky sah beim Laden von Funktionsdateien ein Leerzeichen
                als Trennzeichen zwischen Funktionen an.
              - Trat beim Laden von Funktionen ein Syntaxfehler bei
                einer Funktion auf, so wurde der komplette Ladevorgang
                abgebrochen.
              - "Totrechnen" beim integrieren über senkrechte
                Asymptoten. Sollte jetzt nicht mehr auftreten.
              - Kein automatisches Hinzufügen von Dateiendungen.
                (.FNK, .IFF, .FNX)

Verbesserungen/Erweiterungen seit V3.98:

  * Hilfslinien liegen jetzt nicht mehr knapp neben den Hauptachsen.
  * Hilfslinien im Grafikbildschirm jetzt ausblendbar.
  * <SPACE> kein Trennzeichen mehr beim Laden von Funktionen.
  * Auswahl aus Listen mit Cursortaste, blättern mit Cursor.
  * Ergebnisse werden geladen & gespeichert (ASCII-Datei).
  * Plotten einer Integralfunktion.
  * komprimiertes IFF-Speichern.
  * Matrizenrechnen.
  * Dokumentation im AmigaGuide-Format.


Version 4.2:  - Kein generieren eines Textkopfes beim Löschen der
(12.02.94)      Ergebnisliste.
              - Fehler bei Eingabe des Punktes für Tangenten/
                Normalen-Berechnung (Kein Berechnen an Stellen < 0
                möglich).
              - Matrizen wurden ungenau gespeichert
                (ASCII-Format -> Runden der Eingabewerte).

Verbesserungen/Erweiterungen seit V4.2:

  * Laden & Speichern der Einstellungen.
  * Standard-Einstellungsdatei "Funky.prefs" wird am Programmanfang
    geladen (falls vorhanden).
  * Ändern von Farbnamen
  * Verbesserung des Farben-Requesters
  * Laden & Speichern der Farbpalette/Farbnamen.
  * Standard-Farbdatei "Funky.pal" wird am Programmanfang geladen
    (falls vorhanden).
  * Interne Verbesserungen/Korrekturen.
  * div. Arbeiten am Quellcode, Neustrukturierung.
  * Taschenrechner hinzugefügt. Jetzt Verwaltung von Konstanten möglich
    (Laden/Speichern/Drucken) sowie einfügen im Funktionseditor etc.
  * Zwischenspeicherung von errechneten Ergebnissen.
  * Erweiterung des Einstellungsmenüs.
  * Berechnung von Wertetabellen.
  * Neues Speicherformat für Matrizen (altes Format wird noch gelesen!).
  * Berechnen von Matrixpotenzen
  * Aufstellen der charakteristischen Gleichung einer Matrix

Version 4.4:  vorliegende Version.
(08.04.94)

@endnode

@node Eingabefehler "Eingabefehler/Syntaxfehler"

Fehler  1: Operator an falscher Stelle

Fehler  2: Illegaler Buchstabe
           Funky kennt nur a,b,c,d (=0) sowie x,y,z und p (=pi)

Fehler  3: Illegaler Exponent
           Ausdrücke wie 3.434ex sind verboten.
           Als Exponenten NUR konstante Zahlen verwenden.

Fehler  4: Unbekannte Funktion
           z.B. frak(x)

Fehler  5: Fehlender Operator
           Ausdrücke wie sin() sind verboten

Fehler  6: Fehlender Operator oder ")"

Fehler  7: Fehlende "("
           Sie haben eine öffnende Klammer vergessen z.B. sinx)

Fehler  8: Fehlende ")"
           Sie haben eine schließende Klammer vergessen

Fehler  9: Fehlender Parameter

Fehler 10: Alleinstehender Dezimalpunkt
           sin(x.)

Fehler 11: Zusätzlicher Dezimalpunkt
           z.B. 2..3

Fehler 12: Zusätzliches E im Exponenten
           Ausdrücke wie 1.454e-3e5 sind verboten!

Fehler 13: Stack underflow
           !! Interner Programmfehler !!
           Bitte schreiben Sie mir, wie dieser Fehler auftrat!

Fehler 14: Stack overflow
           Funktion ist zu verschachtelt!

Fehler 15: Zu viele Konstanten
           Versuchen Sie mit weniger konstanten Ausdrucken (5.4 etc.)
           auszukommen.

Fehler 16: Funktion zu komplex
           Tritt beim Ableiten auf; die entstehende Funktion wird zu
           lang.
@endnode

@node Berechnungsfehler "Fehler während einer Berechnung"

Fehler 1: Division durch Null
          z.B. 1/0

Fehler 2: Logarithmusfehler
          Logarithmus ist nur für x>0 definiert!

Fehler 3: Negative Wurzel
          Funky unterstützt keine komplexen Zahlen!

Fehler 4: Fehler in Arcusfunktion
          z.B. asin(x) ist nur für -1 <= x <= 1 definiert

Fehler 5: Unsicherer Wert
          Tritt bei Exponentialfunktionen im negativen Bereich auf

Fehler 6: Fehler in Areafunktion
          s. Fehler 4, nur für asinh etc.

Fehler 7: Fehler beim Ableiten
          (Wird nur intern gesetzt aber nicht ausgegeben.)
@endnode

@node "Fehler allgemein" "Allgemeine Fehler/Fehlermeldungen"

Allgemeine Fehler
*****************

Zu wenig Speicher!
  Funky kann für eine Operation nicht genug Speicher belegen
  
Lesefehler!
  Beim Einlesen einer Datei ist ein Fehler aufgetreten.
  Überprüfen sie, ob die gewünschte Datei überhaupt vorhanden ist!
  
Schreibfehler!
  Beim Schreiben einer Datei ist ein Fehler aufgetreten.
  Schreibschutz?

ERROR: Kann Druckerport nicht erstellen      oder
ERROR: Kann printer.device nicht öffnen!
  Evtl. belegt ein anderes Programm gerade den Drucker oder hat ihn nicht
  freigegeben.
  
ERROR: Fehler beim Drucken!
  Während des Ausdrucks ist ein Fehler aufgetreten.
  
Druckerproblem!?
  Beim Drucken treten Probleme auf.
  Drucker online?
  
Keine Palettendatei!
  Sie versuchen eine fremde Datei als Palettendatei zu laden.

Keine Voreinstellungsdatei!
  Sie versuchen eine fremde Datei als Voreinstellungsdatei zu laden.

Keine Konstantendatei!
  Sie versuchen eine fremde Datei als Konstantendatei zu laden.
    

Sonstige Fehler ohne direkte Fehlermeldung
******************************************

* Beim Plotten einer Integralfunktion läuft sich Funky "tot"

  Grund: Funktion ist nicht stetig/hat eine Asymptote im Intervall
         Drücken Sie <ESC> und warten Sie, bis Funky den Rechenvorgang
         abbricht. (Es kann eine Weile dauern, bis Funky reagiert!)
         
         Im Zweifelsfall eine RESET durchführen.


* Anstatt einer Nullstelle werden 2 oder mehr an fast derselben
  Stelle berechnet
* Gleiches gilt für Schnittpunkte zwischen 2 Funktionen

  Grund: Rechenungenauigkeiten mit Gleitkommazahlen
  
  
* Bei Nullstellen werden für den Y-Wert Werte ungleich 0 ausgegeben.

  Grund: Rechenungenauigkeiten, zur Kontrolle und zur besseren
         Abschätzung des Ergebnisses werden hier die tatsächlichen
         Funktionswerte für den berechneten X-Wert ausgegeben.
         Diese sind unter Umständen etwas größer oder kleiner als 0.
         

* Bei der Eingabe einer Funktion bringt Funky, trotz richtiger
  Eingabe "1. Ableitung, ERR 16: Funktion zu komplex" bzw.
          "2. Ableitung, ERR 16: Funktion zu komplex"
          
  Grund: Funky berechnet automatisch die ersten beiden Ableitungen.
         Ist eine Funktion sehr komplex, so kann es sein, daß die
         Ableitungen zu umfangreich werden und Funky sie nicht mehr
         verarbeiten kann.
         
         Diese Fehlermeldung kann unterdrückt werden, indem im
         Einstellungsmenü bei "Meldung" "Wenn nötig" eingestellt
         wird.
@endnode
