不动点与极限的关系
对于方程a(n)=1/2*a(n-1)+1,初始值为很大的数字,因为乘积因子为1/2,所以这个数列有极限。
现在先不看不动点,只是采用方法求出a(n)的通项表达式:
设a(n)-A=1/2*{ a(n-1)-A}
Go
a(n)=A+1/2^n*{ a(n-1)-A}
当n很大的时候,1/2^n*{ a(n-1)-A}是接近于0,a(n)的值为A。
但是关于不动点的定义是f(x)=x,在前面a(n)接近于A的时候,a(n-1)也接近于A,
如果将a(n-1)看做自变量x,a(n)看作因变量,可以看出A为不动点。
注意:这里的不动点只是假设的,因为数列需要无限接近,理论上类似于不动点。特别是于前面讨论的标准化规则形式的不动点应用情况是有很大的差异的。、
下面写程序来证明:
(defun pow (num count)
(if (or (> count 1) (eq count 1) )
(* num
(pow num
(- count 1) ) )
1))
(defun expr (n value )
(if (> n 0)
(expr (1- n)
(+ 1
(* 0.5 value)))
value))
(defun test (n)
(if (> n 0)
(progn
(print (expr n 877655))
(print 'compare)
(print 2)
(test (- n 1)))
(print 'over)))
(test 1000)