home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / apps / math / gauss_26 / gauss26a.txt < prev   
Text File  |  1993-04-16  |  37KB  |  705 lines

  1. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. ~~~~                                                                        ~~~
  4. ~~~~    GGGGG     AA    UU  UU   SSSSS   SSSSS          222           666   ~~~
  5. ~~~~   GG   G    AAAA   UU  UU  SS      SS             2   2        666     ~~~
  6. ~~~~   GG       AA  AA  UU  UU   SSSS    SSSS             22       66       ~~~
  7. ~~~~   GG GGGG  AA  AA  UU  UU      SS      SS           22        66666    ~~~
  8. ~~~~   GG  GG   AAAAAA  UU  UU      SS      SS          22     ..  6    6 AA~~~
  9. ~~~~    GGGGG   AA  AA   UUUU   SSSSS    SSSS          222222  ..   6666  AA~~~
  10. ~~~~                                                                        ~~~
  11. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  13.  
  14. Ein Public-Domain-Programm,
  15. geschrieben 1991/92   von  KALLEX:
  16.  
  17.  
  18.                             Alexander Pretschner
  19.                             Pregelweg 10
  20.                           W-3004 Isernhagen II
  21.                       und
  22.                             Karl Schneider
  23.                             Christian-Flemes-Weg 25
  24.                           W-3000 Hannover 51.
  25.  
  26.  
  27.  
  28. I. ALLGEMEINES
  29. --------------
  30.  
  31.  
  32. I.1 Was ist GAUSS?
  33. ------------------
  34.  
  35.   GAUSS ist ein Funktionsplotter-Programmpaket, das folgendes kann:
  36.       - Funktionen in expliziter Schreibweise graphisch darstellen (max.7)
  37.       - Kurvendiskussion
  38.       - numerische Differenzierung
  39.       - numerische Integration
  40.       - Schnittpunktberechnung zweier Graphen
  41.       - numerische Lösung von Gleichungen
  42.       - Tangenten in 'Echtzeit'
  43.       - Asymptotenberechnung
  44.       - Funktionsargumente und -werte exakt darstellen
  45.       - taschenrechnen mit Integralberechnung
  46.       - beliebige Funktionswerte einlesen und weiterverarbeiten:
  47.          Interpolation/Regression/Approximation mit Newton, Bezier, Splines ...
  48.       - Achsen logarithmieren
  49.       - Ausgleichgerade berechnen
  50.       - Graphik weiterverarbeiten  (füllen)
  51.       - Lösen von linearen Gleichungssystemen
  52.       - Ausschnitt vergrößern
  53.       - Skalierung verändern
  54.       - Drucken in verschiedenen Größen
  55.       - Linien mit Maus in die Graphik einfügen
  56.       - Linkvirusüberprüfung
  57.  
  58. I.2  Public Domain
  59. ------------------
  60.  
  61.   GAUSS26A.PRG  ist Public Domain.  Der dokumentierte  Source in GFA-Basic 2.02
  62.   bei den Autoren für DM 60,-- (+Diskette) erhältlich. Er unterliegt  einem Co-
  63.   pyright !!!
  64.   Sollte GAUSS regelmäßig benutzt werden, bitten wir Sie,  unseren Programmier-
  65.   aufwand mit einer Spende finanzieller Art zu belohnen.
  66.   Die Anleitung wurde mit AS-FAST erzeugt.
  67.  
  68.  
  69.  
  70. II. INSTALLATION
  71. ----------------
  72.  
  73.   Im Ordner GAUSS befinden sich folgende Dateien:
  74.         \GAUSS26A.PRG        das Programm
  75.         \GAUSS26.RSC        Resources
  76.         \GAUSS26A.TXT        diese Anleitung
  77.  
  78.   GAUSS26A.PRG wird mit Doppelklick gestartet.Es kann aber auch aus einer Shell
  79.   (z.B. AS-SHELL) gestartet  werden,  wobei eine Übergabe eines  Termes möglich
  80.   ist. SYNTAX:
  81.                gauss26A.PRG f(x),xmin,xmax,weiter
  82.                   mit f(x)  = der darzustellenden Funktion. Achten Sie auf eine
  83.                               korrekte Syntax !!!
  84.                       xmin  = dem linken Abszissenabschnitt
  85.                       xmax  = dem rechten
  86.                     weiter  = Flag:     0,  wenn Sie nach  der Zeichnung dieser
  87.                                         Funktion bei GAUSS verweilen möchten,
  88.                                         1,  wenn Sie GAUSS  nach Zeichnung  der
  89.                                         Funktion und einem Tastendruck  verlas-
  90.                                         sen wollen,
  91.                                         2,  wenn GAUSS die Funktion nur  zeich-
  92.                                         nen soll und danach sofort an  das auf-
  93.                                         rufende Programm zurückgeben soll.
  94.                               Diese Option wurde implementiert, um GAUSS in ei-
  95.                               genen  Programmen  nutzen zu können.   Allerdings
  96.                               spricht die Länge des Programms gegen eine solche
  97.                               Nutzung. Vielleicht braucht es aber doch einer!!!
  98.                               Es ist übrigens auch möglich, GAUSSnn.PRG in .TTP
  99.                               umzubenennen, um so vom Desktop aus direkt  GAUSS
  100.                               anzusprechen.
  101.  
  102.   Das Intro  wird mit einer beliebigen Taste unterbrochen.  Danach befindet man
  103.   sich direkt im Hauptmenü.
  104.   GAUSS läuft nur in der hohen  Auflösung  und benötigt mindestens  1 MB Haupt-
  105.   speicher.
  106.  
  107.  
  108.  
  109. III. Linkviren
  110. --------------
  111.  
  112. Am Anfang des Programmes wird die Länge von  GAUSS26A.PRG mit der Originallänge
  113. verglichen (158982 Bytes). Tritt eine Abweichung auf, so bemängelt das Programm
  114. diesen Mißstand. Sie können das Programm dann verlassen oder weitermachen  - je
  115. nachdem, ob Sie die Ursache der abweichenden Länge kennen oder nicht.
  116. Diese Überprüfung wird nur durchgeführt,  wenn GAUSS26A  ohne Commandline  (und
  117. nicht als .TTP)  aufgerufen wird.   Außerdem ist es nötig, daß das Programm den
  118. Namen "GAUSS26A.PRG" trägt, da sonst der Check nicht durchgeführt werden kann.
  119.  
  120.  
  121.  
  122. IV. ALERT-BOX
  123. --------------
  124.  
  125.   GAUSS26A verwendet Alertboxen, die sich von den ST-internen in folgender Wei-
  126.   se unterscheiden:
  127.      Die Buttons können sowohl mit der Maus,  als auch mit den  Pfeil-links und
  128.      und -rechts-Tasten selektiert werden. Der Button, der bei Druck auf RETURN
  129.      oder bei Mausklick angewählt wird,  erscheint dabei invertiert.   Außerdem
  130.      ist eine direkte Anwahl mit der Buttonnummer möglich (der linke Button ist
  131.      die Nummer 1, der zweite von links die Nummer 2 usw.)
  132.  
  133.  
  134.  
  135. V. DIE EINZELNEN MENÜS
  136. -----------------------
  137.  
  138. Fast alle Menüs können sowohl mit der Maus, als auch über Control- und Alterna-
  139. te-Sequenzen erreicht werden.
  140.  
  141.   V.i   Menü 'GAUSS 2.6A'
  142.                     - GAUSS            Essentials wie written-by-Meldung.
  143.                     - ACCESSORY 1 - 6  Accesories können problemlos  aufgerufen
  144.                                        werden.
  145.  
  146.   V.ii  Menü 'GRAPH'
  147.  
  148.    - [^N]  NEUE ZEICHNUNG    ... Aufruf mit CTRL-N möglich ...
  149.         Nach Anklicken dieses Menüs  erscheint auf sonst leerem  Bildschirm die
  150.         lapidare Anzeige 'f(x)=   '.  Sie können das entweder  mit einem bloßen
  151.         Druck auf die RETURN-Taste  quittieren  (dann passiert nämlich nichts);
  152.         jetzt kann aber auch eine beliebige Funktion eingegeben werden. Die un-
  153.         abhängige Variable muß dabei als 'x' angegeben werden.  Folgende Opera-
  154.         toren sind möglich:
  155.                sin,cos,tan,arcsin,arccos,arctan
  156.                sec,csc,arcsec,arccsc
  157.                sinh,cosh,tanh,arcsinh,arccosh,arctanh
  158.                sqr,abs
  159.                ^,*,/,+,-
  160.                ()
  161.         Variablen, Konstanten:
  162.                e = Eulersche Zahl
  163.                E = *10^      (wiss. Schreibweise)
  164.                p = pi
  165.                a = Parameter. Wenn ein Term eingegeben wurde, der einen Parame-
  166.                    ter enthält, erscheint eine Dialogbox, die über das Folgende
  167.                    aufklärt: Es kann für a ein einziger Wert oder ein Intervall
  168.                    angegeben werden. Im zweiten Fall muß noch die  Schrittweite
  169.                    einngegeben werden, mit der das Intervall durchquert wird.
  170.                    WICHTIG: Intern werden immer nur die Funktionswerte für  den
  171.                    ^^^^^^^  letzten Parameterwert gespeichert (für Differenzie-
  172.                             rung, Integration etc.).
  173.  
  174.      Syntaxfehler werden nur teilweise, d.h. sehr selten abgefangen. Nichts er-
  175.      zwingen!!!
  176.      Malzeichen ('*') vor 'x' können weggelassen werden.
  177.      Prioritäten:  1. Klammern
  178.                    2. sin bis abs
  179.                    3. ^
  180.                    4. *,/   (gleichberechtigt. Berechnung nach Reihenfolge.)
  181.                    5. +,-   (      ---------------"-------------------     )
  182.  
  183.      Die Inputroutine birgt einige Besonderheiten:
  184.  
  185.             Funktion     | besonders | bewirkt:
  186.             -------------+-----------+-----------------------------------------
  187.             Pfeil links  | nein      | Cursor ein Zeichen nach rechts
  188.             Pfeil rechts | nein      | Cursor ein Zeichen nach links
  189.             Backspace    | nein      | Zeichen links löschen
  190.             Delete       | nein      | Zeichen rechts löschen
  191.             Esc          | ja        | String löschen, Cursor an den Anfang
  192.             Help         | ja        | nomen est omen
  193.             Undo         | ja        | Der String wird angezeigt, der vom Pro-
  194.                          |           | gramm übergeben wurde
  195.             Insert       | ja        | Wechsel Insert/Overwrite
  196.  
  197.      Nach einem unheilsschwangeren Druck auf die RETURN-Taste wird man zur Ein-
  198.      gabe des minimalen und  maximalen Abszissenwertes  aufgefordert.   Bei Er-
  199.      scheinen von 'xmax= ' gibt man genau das ein, bei 'xmin= ' wird man es na-
  200.      türlich nocheinmal tun. Es erscheint jetzt eine Alertbox, in der man seine
  201.      Eingaben nocheinmal bewundern kann. Ist man auch noch damit einverstanden,
  202.      daß  die Ordinatenabmessungen dem  Kurvenverlauf angepaßt werden,  so gibt
  203.      ein Druck auf RETURN den  nötigen Segen.  Anderenfalls klickt man den ent-
  204.      sprechenden Miesmacher-Button an.
  205.      Zur Berechnung der Ordinatenabmessungen:  die Funktionswerte der Argumente
  206.      von xmin bis xmax werden berechnet. Das Maximum plus 10% der Abmessung ist
  207.      ymax (ymin analog).  Soll der  Ursprung z.B. in O(0;0) liegen, muß man das
  208.      eventuell extra angeben.
  209.      Im Übrigen ist es möglich, bei  den Achsenabmessungen auch  kompliziertere
  210.      Terme einzugeben. Beispiel: xmax=2*pi, xmin=-2-pi, ymax=e etc.  Die Syntax
  211.      dieser Terme entspricht der allgemeinen in GAUSS verwendeten.  Fehler ver-
  212.      meiden !
  213.      Wenn die Ordinate angeglichen werden soll,  geben Sie bitte bei  ymin ODER
  214.      ymax irgendetwas ein, das mit 'an' beginnt (wie 'angleichen', 'anna' etc.;
  215.      alles Schöne wird hier nicht erwähnt!).
  216.      Nach einer angemessenen Wartezeit mit  dem Hinweis  "Bitte warten !!!" er-
  217.      scheint der Graph der eingegebenen Funktion. Die Wartezeit wächst überpro-
  218.      portional mit der Länge (und der Komplexität) des Terms. Nach einem belie-
  219.      bigen Tastendruck befindet man sich nun wieder im Hauptmenü.   Die Berech-
  220.      nung der Funktionswerte kann  schon vorher durch  Tastendruck unterbrochen
  221.      (das ist 1. überhaupt  sinnvoll und 2. genau dann sinnvoll,  wenn man sich
  222.      nach der Eingabe des Termes und dessen Absegnung davon überzeugt,  daß man
  223.      einen Fehler gemacht hat. Mit ^E können Sie die Fehler im Term beheben.)
  224.      ACHTUNG:   Bei der Berechnung von Tangensfunktionen macht GAUSS Schwierig-
  225.                 keiten.  Die Ordinaten müssen fast  immer von Hand nachgeregelt
  226.                 werden, um vernünftige Ergebnisse zu erzielen.   Richtwert: Ab-
  227.                 szissenmaximum=20; -minimum=-20. In dieser Größe dürfte es kei-
  228.                 ne Probleme geben !!!
  229.  
  230.    - [^Z]  Zusätzlicher Graph
  231.      Nach Anwahl diese Menüpunktes erfolgt die Eingabe einer neuen Funktion.
  232.      Auf f(x) folgt g(x), dann h(x) usw.  Syntax s.o.   Die Abmessungen für die
  233.      Achsen entfallen aber; nach vollendeter Termübergabe folgt direkt der neue
  234.      Graph. Insgesamt werden maximal sieben Graphen verwaltet.  Sollten die Or-
  235.      dinatenabmessungen des neuen Graphen  diejenigen des alten sprengen,  kann
  236.      man das mit Alt-M beheben. Erklärung siehe dort!
  237.  
  238.    - [^W]  aktuellen Graphen wählen
  239.      Dieser Menüpunkt fordert zur Angabe des aktuellen Graphen auf (sic!). Die-
  240.      se Angabe ist für die Anzeige der Funktionswerte sowie für die Integration
  241.      und Differentiation und für die Berechnung der Asymptoten nötig.
  242.  
  243.    - [^E]  Graphen ändern
  244.      In einer Alertbox werden sie zur Eingabe desjenigen  Graphen aufgefordert,
  245.      der geändert werden soll. Es folgt eine Auslöschung des alten Graphen die-
  246.      ser Funktion und die Zeichnung des neuen. Zur Funktion der Inputroutine s.
  247.      unter ^N! Sollte Ihnen jetzt auffallen,  daß Sie eigentlich gar nichts än-
  248.      dern wollten, drücken Sie auf Undo und dann auf RETURN   (oder nur auf Re-
  249.      turn, wenn Sie noch nichts geändert haben!).
  250.      Wenn Ihnen die Achsenabmessungen mißfallen sollten,  können Sie diese ein-
  251.      fach mit Alt-M verändern.
  252.  
  253.    - [^C]  Graphen löschen
  254.      Was könnte das wohl sein? Der gelöschte Graph wird durch den jeweils letz-
  255.      ten ersetzt.
  256.  
  257.    - [Alt-M]  Maßstab ändern
  258.      Es werden  die neuen Achsenabmessungen  erwartet.  Ein einfacher Druck auf
  259.      die ohnehin schon geplagte  RETURN-Taste behält die  alten Werte bei.  Bei
  260.      einer Änderung der Ordinatenabmessungen erfolgt die neue Zeichnung sofort;
  261.      bei Änderung der Abszissenabmessungen werden alle Werte neu berechnet: das
  262.      kostet Zeit. Alle Graphen werden neu gezeichnet.
  263.      Werden hier bei ymin/ymax lateinische Euphemismen mit 'an' am Anfang  ein-
  264.      gegeben, wird die Ordinate den jeweils maximalen Abmessungen angepaßt.
  265.      Beispiel: a) Mit ^N wird f(x)=x gezeichnet; xmin=-2; xmax=2. ymin und ymax
  266.                   sollen angeglichen werden. Sie haben logischerweise die Werte
  267.                   von xmin und xmax, hier also -2 und 2.
  268.                b) Mit ^Z wird g(x)=x^2 gezeichnet. Jetzt befindet sich die Gra-
  269.                   phik dieser Funktion nur zur  Hälfte auf dem Schirm,  da hier
  270.                   ymin=(-2)^2=4 und ymax=2^2=4 sein müßten,  um sie ganz darzu-
  271.                   stellen.
  272.                c) mit Alt-M  wird bei 'ymin= ' oder bei  'ymax= '  AN(gleichen)
  273.                   eingegeben; bei xmin und xmax werden die alten Werte mit <CR>
  274.                   übernommen. Sofort werden die  Graphen mit der neuen  Ordina-
  275.                   tenabmessung gezeichnet.
  276.      Diese Funktion ist nützlich nach 'Zusätzl. Graph' und 'Ausschnitt vergrös-
  277.      sern', aber auch nach 'Gr. ändern' ... oder so ganz allgemein zum Spaß!
  278.  
  279.    - [^G]  Ausschnitt vergrößern
  280.      Die Anwahl dieses Menüpunktes birgt Folgendes:   Als erstes dürfen sie mit
  281.      einer Rubberbox (linken oberen Anfangspunkt mit der Maus wählen,dann Maus-
  282.      taste gedrückt  halten und die  rechte untere Ecke fixieren)  ihren  neuen
  283.      Ausschnitt anwählen   und dann die neuen Achsenabmessungen  eingeben.  Die
  284.      Werte  werden dann neu  berechnet;   das könnte einen geringen Zeitaufwand
  285.      bergen.
  286.  
  287.    - [^V]  Vertikale zeichnen
  288.      Nach Angabe des Abszissenabschnittes wird  die Vertikale  gezeichnet.  Zu-
  289.      sätzlich zu  den  maximal sieben  Funktionsgraphen sind sieben  Vertikalen
  290.      möglich. Diese Funktion entspricht der Eingabe einer linearen Funktion mit
  291.      sehr großer Steigung.
  292.  
  293.    - [^X]  Vertikale löschen
  294.      Sollte eine Vertikale einem Gemüt widersprechen, kann sie auch wieder eli-
  295.      miniert werden. Die Angabe der Vertikalen erfolgt über eine Alertbox.
  296.  
  297.    - [^T]  Tangenten
  298.      Hier kann  an jede Stelle des Graphen  die Tangente angelegt werden.   Die
  299.      Position des Cursors -ein respektheischendes Kreuz- kann durch die  Pfeil-
  300.      links und -rechts Tasten manipuliert werden;   dabei wird die Position  um
  301.      jeweils ein Pixel verändert. Andere Schrittweiten werden durch  gleichzei-
  302.      tigen Druck auf  die Shift- oder  Control-Taste ermöglicht.  Außerdem kann
  303.      der Cursor mit der Maus bewegt  werden.   Jeder Druck auf die Insert-Taste
  304.      oder linke Mausklick bringt den Cursor  an die ganz  linke Position;  eine
  305.      Clr/Home-Taste oder ein rechter Mausklick bringen den Cursor an  den abso-
  306.      lut rechten Rand. <RETURN>, <SPACE>  oder ein Klick  auf beide  Maustasten
  307.      gleichzeitig bedeutet das Ende dieses Menüpunktes.  Ein Tastendruck bringt
  308.      uns zurück in das Hauptmenü.
  309.      Rechts der Graphiken werden das jeweilige  Funktionsargument und der -wert
  310.      angezeigt; außerdem kann auch die Gleichung der Tangente abgelesen werden.
  311.  
  312.    - [^A]  Asymptoten
  313.      Es werden senkrechte, waagrechte und schräge Asymptoten des aktuellen Gra-
  314.      phen angezeigt. Die Asymptotengleichungen befinden sich  rechts der Zeich-
  315.      nung. Wenn GAUSS seine Arbeit beendet hat, werden Sie gefragt, ob das Bild
  316.      intern gespeichert werden soll (für Hardcopy oder Bild speichern!).
  317.      Die Routine ist ungeeignet für Logarithmusfunktionen, da mit dem benutzten
  318.      Verfahren eine Asymptote errechnet wird. Das liegt an dem extrem langsamen
  319.      Anstieg derartiger Funktionen.
  320.      Die Tangensfunktion wird stiefmütterlich behandelt  -  für f(x)= tanx wird
  321.      eine horizontale Asymptote durch den Ursprung angezeigt. Das liegt am ver-
  322.      wendeten Verfahren und an der BASIC-eigenen Methode,  Tangentes zu berech-
  323.      nen (tan von pi/2 ist hier definiert !!!).
  324.      Überhaupt sollten  die  Asymptotenberechnungen von Zeit  zu Zeit skeptisch
  325.      beäugt werden!
  326.  
  327.  
  328.   V.iii Menü 'FUNKTION'
  329.  
  330.    - [^DS]  symbolisch differenzieren
  331.      noch nicht implementiert.
  332.  
  333.    - [^DN]  numerisch Differenzieren
  334.      Die Anwahl dieses Punktes mit der Tastatur gestaltet sich folgendermaßen:
  335.      Nach gleichzeitigem Druck auf Control und 'D' folgt die gleichzeitige Ein-
  336.      gabe von Control und 'N'.  Danach werden Sie zur Bestimmung des Grades der
  337.      Ableitung aufgefordert: 1.,2. oder 3. (oder gar keine; für die Miesmacher)
  338.      Dann folgt nach eine Alertbox: "schnell" oder "langsam" sind die  Möglich-
  339.      keiten: "schnell" ist wirklich schnell und zeichnet die  1. Ableitung  mit
  340.      einer maximalen Abweichung von einem Pixel. Die Option  "langsam" ist  zu-
  341.      mindest für die erste Ableitung exakt.
  342.  
  343.    - [^IS]  symbolisch Integrieren
  344.      noch nicht implementiert.
  345.  
  346.    - [^IN]  numerisch Integrieren
  347.      Die Anwahl über die Tastatur ist analog zur  Anwahl von  'numerisch Diffe-
  348.      renzieren'.  Nach der Shicherheitsabfrage wird eine Stammfunktion gezeich-
  349.      net, die danach noch einmal in y-Richtung verschoben werden kann. Die Ver-
  350.      schiebung in den Ursprung bedeutet, daß  dieser Graph  durch den  Ursprung
  351.      laufen wird.
  352.  
  353.    - [^DI]  Diskutieren
  354.      Es wird eine 'halbe'  Kurvendiskussion durchgeführt.  Die Genauigkeit ent-
  355.      spricht den angegebenen Stellen: Nullstellen 8, Extrema 4, Wendepunkte 3.
  356.      Nullstellen, die gleichzeitig Extrempunkt sind,  werden als solche angege-
  357.      ben. Beispiel:  'sinx' hat keine Nullstellen unter der Überschrift  'Null-
  358.      stellen', dafür aber unter 'Extrema' als 'Nullst. und TP'.
  359.      Diese Funktion kann auch zur Lösung von Gleichungen mißbraucht werden:
  360.      Nehmen wir einmal an, Sie hätten eine Gleichung f(x)=g(x). Um die Lösungen
  361.      dieser Gleichung zu berechnen, lassen Sie mit [^N] eine neue Funktion s(x)
  362.      mit s(x)=f(x)-g(x) zeichnen und diskutieren diese mit [^DI]. Die Nullstel-
  363.      len von s(x) entsprechen den Lösungen der obigen Gleichung.
  364.  
  365.    - [^F]  Funktionswerte
  366.      entspricht im Wesentlichen Menüpunkt [^T] - Tangenten mit dem Unterschied,
  367.      daß die Tangenten(gleichungen) nicht angezeigt werden.
  368.  
  369.  
  370.   V.iv  Menü 'ARBEITEN'
  371.  
  372.    - [Alt-G]   Bild speichern
  373.       Sie können das aktuelle Bild abspeichern.   Das Format ist von allen Gra-
  374.       programmen lesbar (32000 Bytes 'reiner' Screendump). Diese Funktion wurde
  375.       realisiert, um es möglich zu machen, z.B. die Achsen zu beschriften etc.
  376.  
  377.    - [^P]  Hardcopy
  378.       GAUSS kennt folgende Modi:
  379.              a) 'SYSTEM':  Systeminterne Hardcopy-Routine (VDI 5, ESC 17).
  380.              b) 'EIGEN GROSS':   DIN-A5 Hardcopy für NEC P6, STAR LC-10,  EPSON
  381.                                  LQ 1500, NEC P5 und kompatible.
  382.              c) 'EIGEN MITTEL':  halbe Größe von b).
  383.              d) 'EIGEN KLEIN':   halbe Größe von c).
  384.  
  385.    - [^V]  Voreinstellungen
  386.      Hier kann das Gradmaß festgesetzt werden: Radian, Alt- oder Neugrad.  Ver-
  387.      änderungen der 1. Ableitung  der  Funktion  'sinx' und entsprechender sind
  388.      prinzipbedingt  (Die erste Ableitung wird 'zu klein' dargestellt !!!).
  389.      Voreingestellt ist RADIAN.
  390.  
  391.    - [^O]  Füllen
  392.      Mit  dem  unter '[^U] - Füllmuster wählen' festgelegten Füllmuster  können
  393.      Bildschirmausschnitte eingefärbt werden.  Irrtümer können direkt  nach dem
  394.      Füllvorgang entschuldigend zurückgenommen werden.
  395.      Die Anwahl des zu füllenden Ausschnittes erfolgt mit der Maus.
  396.  
  397.    - [^U]  Füllmuster wählen
  398.      Vor dem mit dem derzeit  aktuellen Füllmuster eingefärbten  Bildschirm er-
  399.      scheint eine Box mit den möglichen  Füllmustern.  Die Auswahl erfolgt über
  400.      die Cursortasten oder mit der Maus (Zeigen+Klick!).
  401.  
  402.    - [^S]  Schnittpunkte
  403.      Nach der Anwahl  der beiden  Graphen erfolgt nach schier  unendlich langer
  404.      Rechenzeit  die  Ausgabe der Koordinaten  der Punkte und nach  Tastendruck
  405.      die graphische Darstellung. Ein weiterer Tastendruck befördert  uns in das
  406.      Hauptmenü.
  407.  
  408.    - [^B]  Parameter
  409.      Parameter ("a") werden wie unter  '[^N]  Neue Zeichnung' geändert.  Erklä-
  410.      rung siehe dort.
  411.  
  412.  
  413.   V.v  Menü 'EXTRA'
  414.  
  415.    - [^HP]  Kurzanleitung
  416.      noch nicht implementiert.
  417.  
  418.    - [^HF]  verfügbare Funktionen
  419.      Es werden alle verfügbaren Funktionen (Operatoren) angezeigt.
  420.  
  421.    - [^HM]  Menüpunkte
  422.      noch nicht implementiert.
  423.  
  424.    - [^HT]  Tastaturkürzel
  425.      Übersicht über alle Menüpunkte und ihre Shortcuts.
  426.  
  427.    - [^J]  Taschenrechner
  428.      Diese Routine fordert Sie zur Eingabe eines Termes auf. Es sind alle Funk-
  429.      tionen implementiert, die sie auch im Zeichenteil verwenden können,  wobei
  430.      die Benutzung von 'x' natürlich nicht sehr sinnvoll ist.  Es wird dann der
  431.      letzte x-Wert (entspricht xmax) verwendet.
  432.      Ein besonderes Feature des Taschenrechners ist die Berechnung von Integra-
  433.      len mit der Simpson-Regel. Integrale werden folgendermaßen eingegeben:
  434.         Term:   int[f(x)];x_anf;x_end
  435.                   wobei f(x) die Funktion ist,
  436.                   x_anf der linke Abszissenabschnitt und
  437.                   x_end der rechte.
  438.      Integrale können nur so berechnet werden; sie können nicht als Ausdruck in
  439.      dieser Form in einem Term verwendet werden.
  440.      Achten Sie auf die eckigen Klammern und die Semikola!
  441.      x_anf und x_end  können auch als  kompliziertere Terme  eingegeben werden;
  442.      dabei ist aber nur die Eingabe von +-*/ . E e p () möglich!
  443.  
  444.    - [^R]  Funktionswerte einlesen
  445.      Bei Anwahl dieses Menüpunktes wird Ihnen folgendes angeboten:
  446.         - Funktionswerte von Tastatur oder Diskette laden
  447.         - Bearbeiten.
  448.      Bevor Sie etwas  bearbeiten können,  müssen Sie  natürlich erst  die Funk-
  449.      tionswerte (und natürlich auch die -argumente) einlesen. Das kann auf zwei
  450.      Weisen geschehen  (auf Wunsch auch unter zwei Weisen):
  451.         a) Tastatur
  452.            GAUSS fordert Sie jetzt zur Eingabe der Werte auf. Argument und Wert
  453.            werden jeweils durch Komma getrennt. Ende mit 999,999.  Maximal sind
  454.            je 5000 Funktionsargumente und -werte möglich.
  455.         b) Diskette
  456.            In einer Fileselectorbox wird  die Eingabe des Dateinamens erwartet.
  457.            Die Datei muß folgende Struktur haben:
  458.                 Argument 1
  459.                 1 nicht numerisches Zeichen  (CR+LF möglich)
  460.                 Wert 1
  461.                 1 nicht numerisches Zeichen  (CR+LF möglich)
  462.                 Argument 2
  463.                 1 nicht numerisches Zeichen
  464.                 ...
  465.             Versuchen Sie, überflüssige Zeichen am Ende zu vermeiden!
  466.             Vorsicht bei der Verwendung von '-' und '+' als Unterteiler!  Diese
  467.             Zeichen werden als zur Zahl gehörig interpretiert  (wissenschaftli-
  468.             che Schreibweise 1.0E+14).
  469.  
  470.      Jetzt werden  diese  Werte auf dem  Schirm dargestellt.  Sofort danach er-
  471.      scheint eine umfangreiche Alertbox, die Sie  auch mit  'Bearbeiten' errei-
  472.      chen können. Es handelt sich um die Auswahlbox für die  graphische Auswer-
  473.      tung. Folgende Regressionen, Approximationen und Interpolationen sind mög-
  474.      lich:
  475.         1) Interpolation mit NEWTON
  476.            Bei n+1 Führungspunkten wird der Graph eines Polynoms mit dem Grad n
  477.            gezeichnet,  der alle Punkte (fast) schneidet.
  478.         2) Splines quadratisch
  479.            Durch die ersten drei Punkte wird eine Parabel 2. Grades gezeichnet.
  480.            Die nächste Parabel ist durch den vierten Punkt festgelegt;  sie er-
  481.            füllt folgende Bedingungen:  f(x3)=g(x3)=y3
  482.                                         g(x4)=y4
  483.                                         f'(x3)=g'(y3).
  484.            Auf Wunsch können  die Koeffizienten  der quadratischen  Gleichungen
  485.            ausgegeben werden.
  486.         3) Splines kubisch
  487.            siehe auch unter 2).
  488.            Hier wird die erste Parabel 3. Grades durch  die ersten  vier Punkte
  489.            gezeichnet; der fünfte Punkt legt die nächste Parabel fest, die fol-
  490.            gende Bedingungen erfüllt:
  491.                                         f(x4)=g(x4)=y4
  492.                                         g(x5)=y5
  493.                                         f'(x4)=g'(x4)
  494.                                         f''(x4)=g''(x4).
  495.            Auch hier können die Koeffizienten der kubischen Gleichungen  ausge-
  496.            geben werden.
  497.         4) Potenzregression
  498.            Es wird eine Regression der Form  y=a*x^B durchgeführt.  Die Koeffi-
  499.            zienten werden rechts angezeigt.
  500.         5) logarithmische Regression
  501.            Es wird eine Regression der Form y=A+B*lnx durchgeführt. Die Koeffi-
  502.            zienten werden auch hier rechts angezeigt.
  503.         6) Exponentialregression
  504.            Es wird eine Regression der Form y=a*e^Bx durchgeführt.  Die Koeffi-
  505.            zienten werden (surprise) rechts angezeigt.
  506.         7) Bezier - eine Kurve oder Splines
  507.            Sofort nach Anwahl von 7) erscheint eine umfangreiche GEM-Dialogbox:
  508.             a) Splines
  509.                Ist der "Splines"-Button invertiert,  können Sie  folgendes ein-
  510.                stellen:
  511.                            Führungspunkte __-fach
  512.                               (alle Führungspunkte    (= den eingegeben Werten)
  513.                                werden x-fach definiert)
  514.                            Alle Punkte __-fach
  515.                               (alle Punkte werden x-fach definiert.  Der Unter-
  516.                                schied zur vorhergehenden Option liegt daran,daß
  517.                                für die Bezier-Splines zusätzliche Punkte  defi-
  518.                                niert werden, um einen halbwechs  "glatten" Ver-
  519.                                lauf der  Kurve  zu ermöglichen,  und daß  diese
  520.                                Punkte jetzt auch ein höheres Gewicht erhalten.)
  521.                            Grad __
  522.                               (zwischen jeweils grad Punkte wird ein Spline ge-
  523.                                legt.)
  524.              b) 1 Kurve
  525.                 Der Unterschied zu den Splines liegt darin, daß hier  eine ein-
  526.                 zige  Funktion  gezeichnet wird,   während bei den Splines ver-
  527.                 schiedene Kurvenstücke zusammengesetzt werden.
  528.                             Führungspunkte __-fach
  529.                                (s.o.)
  530.                             Extrema y
  531.                                (y-Extrempunkte  erhalten höheres  Gewicht.  Als
  532.                                 Extrempunkt gilt ein Punkt, auf  dessen  linken
  533.                                 und rechten Seite zwei Punkte mit einem jeweils
  534.                                 kleineren/größeren  Betrag des  Funktionswertes
  535.                                 liegen. Beispiel:
  536.                                     Hp:*           *
  537.                                     *       *     *
  538.                                    *        Tp: *      )
  539.              c) Genauigkeit
  540.                 Hier wird die Genauigkeit  eingestellt.  100 ist ein Richtwert;
  541.                 je größer diese Zahl ist, desto größer ist die Genauigkeit. Man
  542.                 wird die Genauigkeit normalerweise der Automatik ('automatisch'
  543.                 anklicken) überlassen, manchmal reicht die aber nicht aus.
  544.         Es wird das beste sein,  wenn Sie mit den verschiedenen  Parametern et-
  545.         was herumspielen, um ihre Wirkung kennenzulernen.
  546.         Falls Sie Interesse an einem reinen Bezier-Programmpaket haben,  melden
  547.         Sie sich bitte bei einem der Autoren!!!    In  diesem Paket werden  die
  548.         Bezierkurven zur Bearbeitung von Graphiken  (Zeichensätze etc.) verwen-
  549.         det werden.
  550.  
  551.         8) kleinste Quadrate
  552.            Nach Anwahl dieser Option werden Sie zur Eingabe des  Grades  des zu
  553.            zeichnenden Polynomgraphen aufgefordert, wobei der Grad kleiner  als
  554.            die Anzahl der Stützstellen sein muß. Es wird dann dasjenige Polynom
  555.            mit dem festgelegten Grad gezeichnet, von dem die Summe der Abstand-
  556.            quadrate minimal ist. Auf Wunsch können die Koeffizienten ausgegeben
  557.            werden.
  558.  
  559.    - [^L]  Achsen logarithmieren
  560.      Wenn Ihnen der Sinn nach einer Achsenlogarithmierung steht,  sind Sie hier
  561.      genau richtig. Wie der Titel dieser Option schon verrät, können hier .....
  562.      ja, es können Achsen logarithmiert werden.
  563.      Folgende Optionen sind möglich:
  564.             a) nur Abszisse logarithmieren
  565.             b) nur Ordinate logarithmieren
  566.             c) beide Achsen logarithmieren
  567.              und das geht auf zwei Arten&Weisen:
  568.               i)  natürlicher Logarithmus
  569.               ii) dekadischer Logarithmus
  570.      Nach erfolgter Logarithmierung  können Sie eine Ausgleichgerade mit [ALTA]
  571.      durch die logarithmierte Kurve legen und sich die Koeffizienten dieser li-
  572.      nearen Gleichung angucken (und damit  dann auf die ursprüngliche  Funktion
  573.      schließen).  Diese Funktion entspricht dem Zeichnen  von  (Meß-)werten auf
  574.      einfach bzw. doppelt logarithmierten Papier  oder einer exponenziellen Re-
  575.      gression.
  576.  
  577.    - [Alt-A]  Ausgleichgerade
  578.      Es wird eine Ausgleichgerade zum aktuellen Graphen gezeichnet. Die Koeffi-
  579.      zienten der Lineargleichung erscheinen rechts.
  580.  
  581.    - [Alt-G]  Geraden ziehen
  582.      Mit der Maus können Sie sich in der Zeichnung bewegen. Die Koordinaten er-
  583.      scheinen rechts. Ein Klick auf die linke  Maustaste legt den  Anfangspunkt
  584.      vorläufig fest. Jetzt können Sie  den Endpunkt der  Strecke wählen;  dabei
  585.      werden die jeweils aktuelle Steigung und die aktuellen Koordinaten angege-
  586.      ben. Ein weiterer Klick auf die linke Maustaste setzt den Endpunkt fest.
  587.      Jetzt kann die Strecke noch beliebig mit der Maus auf dem Schirm  verscho-
  588.      ben werden; ein letzter Mausklick links fixiert sie. Es kann zu jeder Zeit
  589.      mit Mausklick rechts ausgestiegen werden;  wenn die Strecke allerdings fi-
  590.      xiert ist, dann ist sie fixiert und bleibt es auch (d.h. sie bleibt in der
  591.      aktuellen Zeichnung).
  592.  
  593.    - [Alt-L]  Lineares Gleichungssystem
  594.      Diese Funktion gestattet es, n Gleichungen mit n Unbekannten zu lösen  und
  595.      eventuell festzustellen,  daß das Gleichungssystem  gar nicht  (eindeutig)
  596.      lösbar ist. Das Programm gibt dann eine entsprechende Meldung aus  (unend-
  597.      lich viele/keine Lösungen). Ansonsten werden die Lösungen der Variablen in
  598.      folgender Form ausgegeben:
  599.      wenn in Ihrer Matrix beispielsweise die Koeffizienten der Variablen x1 so-
  600.      weit links  stehen,  daß es gar nicht weiter  links geht,  und wenn in der
  601.      zweiten Spalte die Koeffizienten für x2 stehen usw., dann gibt  GAUSS fol-
  602.      gendes aus:
  603.            'Lösung Variable1 = ???????'
  604.            'Lösung Variable2 = ???????'
  605.              ...
  606.            'Lösung Variablen = ???????'.
  607.      Variable 1 entspricht x1, Variable 2 x2 und Variable n entspricht xn.
  608.  
  609.    - [Alt-F]  freier Speicher
  610.      Es wird der momentan freie Speicher, sowie die Zeit und das Datum ausgege-
  611.      ben.
  612.  
  613.  
  614.   V.vi  Menü 'AUSGANG'
  615.  
  616.    - [^Q]  AUS&VORBEI
  617.      GAUSS verabschiedet sich nach einer Sicherheitsabfrage.
  618.  
  619.  
  620. VI. FEHLER
  621. ----------
  622. Interne Fehler werden weitgehend erkannt, angegeben, und -soweit möglich- beho-
  623. ben.  Im Unglücksfall wird  GAUSS neu gestartet,  im schauderhaften  Fall hängt
  624. GAUSS den Computer auf  (jetzt bildlich gemeint),  und die Katastrophe  bewirkt
  625. einen Absturz.  Wir garantieren  für nichts;  allerdings sind die Bomben in der
  626. letzten Zeit extrem rar geworden. Die Fehlerbehandlung ist interaktiv; Sie kön-
  627. nen das Programm verlassen, neustarten, oder an der Stelle weitermachen, an der
  628. sich der Fehler ereignete (lohnt sich bei Überläufen und  Durch-Null-Divisionen
  629. und überhaupt - die Daten könnten somit erhalten bleiben.) Wiederholen Sie Ihre
  630. Eingabe gegebenenfalls (aha!) mehrmals!
  631. Für ernsthafte Bug-reports gibt's als Belohnung (Belohnung?) die neueste Versi-
  632. on von GAUSS (bitte Floppy mitschicken!!).
  633.  
  634.  
  635. VII.  UPDATES
  636. -------------
  637. Updates gibt's auf Anfrage gegen 10,-- DM  ('ne Menge Patte, ist klar).     Die
  638. Listingeinkäufer und Geldspender erhalten ein Update, wenn Sie uns eine Disket-
  639. te zusenden. Und schließlich gibt es Updates für erkannte Bugs (Floppy !!!).
  640.  
  641.  
  642. VIII.  GRUSS&KUSS
  643. -----------------
  644.  
  645. SPECIAL THANX TO   dp.pretschner,  h.szambien, u. künne, milka,  camel, noname,
  646.                    gauloises, warsteiner, jvc, atari, frank os.
  647.  
  648. GREETINGS TO    us, basti, dorian gray, thielsen, lambo, jochen, wernä, bagger,
  649.                 bagger,   b.rieux (la peste),   hansi,   clemi from  h.,   cfg,
  650.                 mr.spock,  cpt. kirk,   timo,  the poor gambler,  axel seeberg,
  651.                 schnäxl, faust,  schäferling, tim f, sisyphos, oddy, nicolas e.
  652.                 (only from alex),  les bastards (pas les bâtards) en france/mpl
  653.                 (only from alex),  RIEMANN's programmers' friend (aufe CEBIT 92
  654.                 bei ATARI), sean connery (hopefully a.d.), douglas adams, titu,
  655.                 *** türkei 92 ***, den paten I-III, nick nolte(only from karl),
  656.                 mathieu t.,   the world (only from karl),  panß, gnr,  led zep.
  657.                 (only from alex), the rs, horses after face lifting,  luke sky-
  658.                 walker, kwg (wnd,wdpr;sl.kwgitess), mr. mistforke,     NICHT an
  659.                 manschi,füll kolinz,mik dschäxn (e.h. by alex) und felix b+kai,
  660.                 fidi+doren, aber an eichel, knut,  mj. crampas,  brotherhood of
  661.                 junk (kwg '92 bei mh), wurrst, thermomix, c. und ..............
  662.                 an den rest (only from karl) ..................................
  663.  
  664.  
  665. VIII.  LITERATUR
  666. ----------------
  667. [1]  Jankowski/Reschke/Rabich: ATARI ST Profibuch. SYBEX 1988.
  668. [2]  Litzkendorf: Das große GFA BASIC-Buch. DATA BECKER 1987.
  669. [3]  Litzkendorf/Onnen: Tips&Tricks zu GFA-BASIC. DATA BECKER 1988.
  670. [4]  Brod/Stepper: Scheibenkleister II. MAXON 1990.
  671. [5]  Brückmann/Englisch/Gerits: ATARI ST Intern. DATA BECKER 1987.
  672. [6]  Bronstein/Semendjajew: Taschenbuch der Mathematik. H. DEUTSCH 1966.
  673. [7]  Dreszer: Mathematik-Handbuch. H. DEUTSCH 1975.
  674. [8]  Wygodski: Höhere Mathematik griffbereit. VIEWEG 1973.
  675. [9]  Gellert/Küstner/Hellwich/Kästner: Kleine Enzyklopädie Mathematik.
  676.                                        PFALZ VERLAG BASEL, 1965.
  677. [10]  Kittler/Schröder/Wölz: Einführung in die Mathematik: Analysis und Geo-
  678.                             metrie. Schuljahr 11. DIESTERWEG 1984.
  679. [11]  Kroll/Vaupel: Analysis II- Integralrechnung und Differentialrechnung II.
  680.                    Grund- und Leistungskurs. DÜMMLER 1989.
  681. [12]  Krämer/Höwelmann/Klemisch: Analytische Geometrie und Lineare Algebra.
  682.                                 DIESTERWEG 1989.
  683. [13]  fx-7000G - Manuel de l'utilisateur. CASIO ~1990.
  684. [14]  Glaymann/Pensec: Mathematiques 2. NATHAN 1987.
  685. [15]  Lignelet: Algorithmique - Methodes et modeles. Tome 2. MASSON 1988.
  686. [16]  Lachand-Robert: Introduction a Turbo-C++. SYBEX 1990.
  687. [17]  Vorlesung von H.Hotje (Uni Hannover) über Bezier-Kurven im SS '91.
  688. [18]  Unbehauen/Göhring/Bauer: Parameterschätzverfahren zur Systemidentifi-
  689.                               kation. OLDENBOURG 1974.
  690. [19]  Young/Calvert: Classification, Estimation and Pattern Recognition.
  691.                     ELSEVIER 1974.
  692. [20]  Kreyszig: Statistische Methoden und ihre Anwendungen.
  693.                VANDENHOECK&RUPRECHT 1965.
  694. [21]  Kernighan/Ritchie: The C-Programming Language. PRENTICE HALL 1978.
  695. [22]  Bedienungshandbuch NEC P6/P7/CP6/CP7. NEC 1987.
  696. [23]  ComputerDrucker Handbuch STAR LC24-10 multifont. STAR 1988.
  697. [24]  J. und G. Steiner: GEM für den Atari 520 ST. MARKT&TECHNIK 1985.
  698. [25]  DUDEN I 18.Auflage. 1988.  Hat nix genützt.
  699. [26]  M. Gardener: Math. Games in SCIENTIFIC AMERICAN, Feb. 1971, pp. 112-117
  700. [27]  Hilcher/Ostrowski: GFA-BASIC EWS 2.0. GFA SYSTEMTECHNIK GMBH 1986.
  701.  
  702. Isernhagen, 18.04.1992
  703.                                Die Autoren
  704.  
  705.