fibs扩展3

//right-hand has  a  variable n more with fibs function
(defun  fibs (n)
(if (eq  n 1)
       2
    (if (eq n 2)
           3
       (+ n
          10
          (- (* 6  (fibs (- n 1) ) )
          (* 8  (fibs (- n 2) ) ))))))
GO
f(t+2)-6*f(t+1)+8*f(t)={n+2}+10
f(t+3)-6*f(t+2)+8*f(t+1)={n+3}+10
GO  ( below minus above)
f(t+3)-7*f(t+2)+14*f(t+1)-8*f(t)=1

same as above
f(t+4)-7*f(t+3)+14*f(t+2)-8*f(t+1)=1
GO
(X-2)(X-1)(X-1)(X-4)=0
GO
2*A+4*B+C+D=2
4*A+16*B+C+2*D=3
8*A+64*B+C+3*D=15
8*A+128*B+C+4*D=35
GO
解方程可以获得ABCD的值。

(defun pow (num count)
(if (> count 0)
      (* num (pow num (- count 1) ) )
    1
)
)

(setq  A  (- 0 (/ 16 7.0)) )
(setq  B  (/ 109  253.0))
(setq  C  (/ 281  63.0))
(setq  D  (/ 8  21.0))

(defun  formula (n)
(+  (* A  (pow 2 n))
    (* B  (pow 4 n))
    C
    (* D n)))

(defun  test (n)
(if (> n 0)
  (progn
       (print (formula n))
       (print (fibs n))
       (test  (- n 1) ))
  (print 'over)))

(test  10)

//经过验证,结果是非常精确的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值