不动点与递归数列的极限
有些收敛的数列才有不动点,比如x=1+x^(-1) ;x=1+x^(-2);x=1+x^(-3),下面写程序验证:
对x=1+x^(-3):
(defun pow (num count)
(if (or (> count 1) (eq count 1) )
(* num
(pow num
(- count 1) ) )
1))
(defun expr (n x)
(if (> n 0)
(expr (1- n)
(+ 1
(/ 1.0
(pow x 3) )))
x))
(defun formula (x)
(- x
(+ 1
(/ 1.0
(pow x 3)))))
(defun test (n)
(if (> n 0)
(progn
(print (expr 200 n))
(print 'compare)
(print (formula (expr 200 n)))
(test (- n 1)))
(print 'over)))
(test 100)
用这种方法可以解答所有这种形式的不动点;其中负级数越高,需要的递归次数越多,所以其中的200有可能算不出来;