为了便于解方程,设置如下的等式:
X=4+(X-2)/X equ x=5-2/x
GO
变为差分方程得到
a(n)=4+(a(n-1)-2)/a(n-1)
Go
(x-2)*(x*x+2*x-1)=0
有三个根2,-1+sqrt(2),-1-sqrt(2).
A*2+B*(-1+sqrt(2))+C*(-1-sqrt(2))=1
A*4+B*(-1+sqrt(2))^2+C*(-1-sqrt(2))^2=3
A*8+B*(-1+sqrt(2))^3+C*(-1-sqrt(2))^3=13/3
Go
A=2/3
B=(1+sqrt(2))*(-1/6)
C=(1-sqrt(2))*(-1/6)
(defun pow (num count)
(if (> count 0)
(* num (pow num (- count 1) ) )
1
)
)
(defun expr (n)
(if (eq n 1)
1
(- 5.0 (/ 2 (expr (- n 1) ) ) )))
(setq A (/ 2 3.0))
(setq temp (- 0 (/ 1.0 6) ) )
(setq B (* (+ 1 (sqrt 2) ) temp ))
(setq C (* (- 1 (sqrt 2) ) temp ))
(defun formula (n)
(+ (* A (pow 2 n))
(* B (pow (+ -1 (sqrt 2) ) n))
(* C (pow (- -1 (sqrt 2) ) n))))
(defun test (n)
(if (> n 0)
(progn
(print (formula n))
(print (expr n))
(test (- n 1) ))
(print 'over)))
(test 10)