LISP, используя отрицательное число в качестве показателя степени - PullRequest
0 голосов
/ 03 февраля 2019

Я пытался решить следующий вопрос по Common Lisp:

Вопрос

Пока у меня так:

(defun activation (type sum) 
  "(type sum)
Returns the activation value of a connectionist unit 
given a sum of products of input activations x 
corresponding connection weights."
  (cond ((equal type 'sigmoid) (- (/ 1 (+ 1 (exp (- 0 sum)))) 0.5))
        ((equal type 'asigmoid) ((/ 1 (+ 1 (exp (- 0 sum))))))
        (t 'unknown-type)))

Но я продолжаю получать ошибку «type-error» рядом с функцией exp ... Может кто-нибудь помочь мне разобраться в чем дело?

1 Ответ

0 голосов
/ 03 февраля 2019

В вашем коде есть синтаксическая ошибка:

((/ 1 (+ 1 (exp (- 0 sum)))))

- недопустимое выражение (оно содержит две скобки).Измените его на

(/ 1 (+ 1 (exp (- 0 sum))))

В языках Lisp каждая одиночная скобка является значимым синтаксическим токеном, а не в других языках, где (a + b) и ((a + b)) обозначают одно и то же выражение.

...