Lisp中余弦函数的泰勒级数
我试图在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的新手,因此任何帮助都将不
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)))))