home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / SIGMAT25.DMS / in.adf / ARexxDemos / CNull.REXX < prev    next >
Encoding:
OS/2 REXX Batch file  |  1994-01-26  |  1.7 KB  |  65 lines

  1. /*
  2.  * Name:           CNull.REXX
  3.  * Autor:          Stefan Kebekus
  4.  * Datum:          4. Oktober 1990
  5.  *
  6.  * Sinn:           * ja *
  7.  * Beschreibung:
  8.  *
  9.  * Die Nullstellen einer komplexen Funktion werden berechnet und im
  10.  * Graphenfenster als Statistikdaten ausgegeben.
  11.  *
  12.  */
  13.  
  14. ADDRESS "rexx_SIGMAth"            /* Verbindung zu SIGMAth herstellen */
  15. OPTIONS results                /* ja, wir wollen Ergebnisse (wichtig !) */
  16.  
  17.  
  18. MathError = "x"
  19. do while MathError~=""
  20.     SAY '0C'x
  21.     Say '*** Nullstellen komplexer Funktionen ***' '0A'x
  22.     SAY 'Dieses Programm zeichnet die Nullstellen von komplexen Funktionen'
  23.     SAY 'in das Graphenfenster von SIGMAth.' '0A'x
  24.     SAY 'Bitte Funktion eingeben:'
  25.     SAY 'f(z) = '
  26.     PULL Term
  27.  
  28.     CFunktion Term            /* SIGMAth mit der eingegebenen Funktion füttern */
  29.     if MathError ~= "" then do    /* War die Funktion nicht korrekt ? */
  30.         Say '0A'x"Die Funktion war nicht korrekt: "MathError    /* gleich anmeckern */
  31.         Say "Bitte <Return> drücken..."
  32.         Pull Term
  33.     end
  34. end
  35.  
  36. Say '0A'x"Bitte reellen Arbeitsbereich angeben:"
  37. Pull RStart
  38. Pull RStop
  39. RStep    = (RStop-RStart)/40
  40.  
  41. Say '0A'x"Bitte komplexen Arbeitsbereich angeben:"
  42. Pull CStart
  43. Pull CStop
  44. CStep    = (CStop-CStart)/40
  45.  
  46. Say '0A'x"Berechne die Nullstellen. Bitte warten..."
  47. Nullstellen RStart RStop RStep CStart CStop CStep    /* die komplexen Nullstellen berechnen */
  48.  
  49. MaxN    = result
  50.  
  51. if MaxN = "0" then do
  52.     Say '0A'x"Im gewählten Bereich wurden keine Nullstellen gefunden."
  53. end
  54. else do
  55.     Say '0A'x"Es wurden" MaxN "Nullstellen gefunden."
  56.     Clr_Daten            /* Alle vorhandenen Daten löschen */
  57.     Clr_Graph            /* Das Graphenfenster löschen */
  58.  
  59.     do i=1 to MaxN
  60.         Set_Datum Erg2.i Erg3.i    /* SIGMAth mit den Nullstellen füttern */
  61.                     /* d.h. die Nullstellen als Statistikdaten eingeben */
  62.     end
  63.     DatenGraph 1 1 1        /* Daten zeichnen */
  64. end
  65.