为了便于解方程,设置如下的等式:
X=4+(X-4)/X equ x=5-4/x
init value x=2 (that's very import ,can determine the result,talk it later)
设a(n)=5-4/a(n-1)
另外设
A(n)=a(n)*A(n-1)
Go
A(n)={ 5-4/a(n-1) }*A(n-1)
Go
A(n)=5*A(n-1)-4*A(n-1)/a(n-1)
Go
A(n)=5*A(n-1)-4A(n-2)
查分方程为
X*X-5*X+4=0 (init value x=2)
Go
A*4^n+B=0
解得
A=1/3
B=2/3
(defun pow (num count)
(if (> count 0)
(* num (pow num (- count 1) ) )
1
)
)
(defun expr (n)
(if (eq n 1)
2
(- 5.0 (/ 4.0 (expr (- n 1) ) ) )))
(setq A (/ 1.0 3) )
(setq B (/ 2.0 3) )
(defun formula (n)
(+ (* A (pow 4 n))
B))
(defun test (n)
(if (> n 0)
(progn
(print (/ (formula n) (formula (- n 1) ) ) )
(print 'compare)
(print (expr n))
(test (- n 1) ))
(print 'over)))
(test 10)
如果将初始值改为1
A=0
B=1
(defun expr (n)
(if (eq n 1)
1
(- 5.0 (/ 4.0 (expr (- n 1) ) ) )))
//它将固定在1,并且只有当初始值为1时才会出现这种情况,
//
如果将初始值改为1/2
A=-1/6
B=7/6
(defun expr (n)
(if (eq n 1)
0.5
(- 5.0 (/ 4.0 (expr (- n 1) ) ) )))
为其他值都将固定在4。这个跟极限的
公式相关,会忽略小的项。