Code:
; Funktionsplot beliebiger Funktionen
; Udo Hübner 20.04.2001
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(DEFUN C:FVONX ( / os Xa Xe X inc)
; es wird eine LISP-FUNKTION namens
; FUNKTION aufgerufen, die das Argument x bekommt und y zurückgibt
; gezeichnet wird aus den Punkten eine Polylinie, die später in einen SPLINE verwandelt werden kann.
(SETVAR "CMDECHO" 0)
(SETQ os (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(INITGET 1); keine Leereingaben erlaubt
(SETQ Xa (GETREAL "\nXa Startwert:"))
(INITGET 1); keine Leereingaben erlaubt
(WHILE (<= (SETQ Xe (GETREAL "\nXe Endwertwert:")) Xa)
(PROMPT "\nEndwert muss größer als Startwert sein !")
)
(INITGET 7) ; keine Leereingaben, oder Null oder neg. Eingaben erlaubt
(SETQ inc (GETREAL "\nInkrement (Zuwachs):"))
(SETQ X Xa)
(COMMAND "_PLINE")
(WHILE (<= X Xe) ; Hauptschleife
(COMMAND (PRINT (LIST x (Funktion x))))
(SETQ X (+ X inc))
)
(COMMAND "")
(SETVAR "OSMODE" os)
(SETVAR "CMDECHO" 1)
(PRIN1)
)
;;;; Hier die benutzerdefinierte Funktion
(DEFUN FUNKTION (x)
(sin x) ; y = sin(x)
;(SQRT (* 3.0 X)) ; Y²=m*x bzw. y = Wurzel( 3 * x)
)
(PROMPT "\FvonX geladen. Befehl FVONX eingeben um die Beispielfunktion y= SIN(X) zu sehen")
(PRIN1)