2013-03-23 70 views
1

我對lisp非常陌生,我正在研究基本語法。我試圖將:
r1 =( - b + sqrt(b^2 - 4 * a * c))/(2 * a)
轉換爲lisp格式。我認爲我唯一的問題是我無法讓lisp將-b視爲我的符號b的負值。這是我從口齒不清提示迄今:在lisp中爲符號賦予負值

[17]> (setq a 1L0) 
1.0L0 
[18]> (setq b -1L0) 
-1.0L0 
[19]> (setq c -1L0) 
-1.0L0 
[20]> (setq r1 (+ (/ (sqrt (- (power b 2) (* (* 4 a) c))) (* 2 a)) -b)) 

*** - EVAL: variable -B has no value 
The following restarts are available: 
USE-VALUE  :R1  You may input a value to be used instead of -B. 
STORE-VALUE :R2  You may input a new value for -B. 
ABORT   :R3  Abort main loop 

回答

6

使用

(- b) 

否定灣它相當於

(- 0 b) 
+0

好的,謝謝,因爲起初我設置另一個符號-b等於1L0,只是爲了否定b。它的工作,但我得到的答案是不同於我把所有東西都插入我的TI計算器時得到的答案。現在我得到相同的答案,我使用( - b),因爲當我設置-b取消b。我的語法是否正確設置r1? – DLR 2013-03-23 22:12:34

+2

嘗試(/( - (sqrt( - (expt b 2)(* 4 a c)))b)(* 2 a)) – uselpa 2013-03-23 22:21:37

+0

它的工作!謝謝!儘管我需要在方法中使b成爲負數,但非常感謝! – DLR 2013-03-23 22:26:02