Lisp中余弦函数的泰勒级数

Lisp中余弦函数的泰勒级数,lisp,Lisp,我试图在lisp中构建一个泰勒级数,如下图所示 1 + x^1/1! + x^2/2! + x^3/3!.....etc 为了在泰勒函数中使用幂函数和阶乘函数,已经实现了幂函数和阶乘函数 目前,我编写了以下初始代码来解决这个方程 (defun taylor(x n) (if (= n 0) 1 (+ (/ (power x n) (factorial n)) (taylor(x (- n 1)))))) 使用此代码将导致以下错误 错误:未绑定函数-X 我是lisp的新手,因此任何帮助都将不

我试图在lisp中构建一个泰勒级数,如下图所示

1 + x^1/1! + x^2/2! + x^3/3!.....etc
为了在泰勒函数中使用幂函数和阶乘函数,已经实现了幂函数和阶乘函数

目前,我编写了以下初始代码来解决这个方程

(defun taylor(x n)
(if (= n 0) 1
(+ (/ (power x n) (factorial n)) (taylor(x (- n 1))))))
使用此代码将导致以下错误

错误:未绑定函数-X



我是lisp的新手,因此任何帮助都将不胜感激:D

您在
taylor
前面有一个额外的括号;i、 e.您需要将其命名为
(taylor x n)
,而不是
(taylor(x n))

通常,如果您适当地缩进代码,像这样的错误更容易发现,例如

(defun factorial (n)
    (if (= n 1)
        1
        (* n (factorial (1- n)))))

(defun power (x n)
    (if (= n 1)
        x
        (* x (power x (1- n)))))

(defun taylor (x n)
    (if (= n 0)
        1
        (+ (/ (power x n)
              (factorial n))
           (taylor x (- n 1)))))

泰勒前面有一个额外的括号;i、 e.您需要将其命名为
(taylor x n)
,而不是
(taylor(x n))

通常,如果您适当地缩进代码,像这样的错误更容易发现,例如

(defun factorial (n)
    (if (= n 1)
        1
        (* n (factorial (1- n)))))

(defun power (x n)
    (if (= n 1)
        x
        (* x (power x (1- n)))))

(defun taylor (x n)
    (if (= n 0)
        1
        (+ (/ (power x n)
              (factorial n))
           (taylor x (- n 1)))))