Hallo
Ich benutze das Clozure Common Lisp. Ich verusche gerade eine verschiedene Mathematische Funktionen zu implementieren, und bei diesen dann immer die x-te Stelle auszugeben. Beispielsweise soll von einer Geraden f(x) = 5x + 2 oder Kurven wie y = 1 - 1/x oder y=log (10x/6) ab der Stelle x = 0 jedes i mit i=i+5 , also jede 5te Stelle ausgegeben werden.
Die Wertpaare sollen dann im Endeffekt die Werte für eine Parameterliste sein, die benutzt werden um Punkte (x/y Werte) und Linien (Anfangs- und Endpkte auch, x/y) in ein Fenster zu setzen. Letzendlich ist das ein Experiment-Code für ein ACT-R Programm, das eine Aufmerksamkeitssteuerung besitzt und die sich veränderne Lisp Umgebung "beobachtet" bzw, entsprechend reagiert.
Aber dazu brauche ich eien LISP-Implementierung von mathematischen Funktionen, vor allem Kurven.
Das ganze soll sich dann ungefähr so gestalten:
Code:
(defparameter *Paramter* `(;mathematische FKt;; noch eine mathematische Funktion)
(defun build-display (a b c d)
(setf *experiment-window* (open-exp-window "Kurve"))(add-button-to-exp-window :x a :y b :height 20 :width 20 :text "A" )
(add-button-to-exp-window :x c :y d :height 20 :width 20 :text "B" )
(allow-event-manager *experiment-window*))
(defun do-experiment (sticks)
(apply #'build-display sticks)
(do-experiment-model))
(defun do-experiment-model ()
(install-device *experiment-window*)
(proc-display :clear t)
(sleep 1.15)
(run 30)
)
(defun dothis ()
(let
(if *actr-enabled-p*
(reset))
(dolist (stim *bst-stimuli*)
(do-experiment stim)
)))
;;Gefolgt von dem ACT-R code der mit dem Experiment-Window interagiert, aber für die Fragestellung irrlevant ist
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP