精确分析复杂的递推关系(多项式函数的叠加)

精确分析复杂的递推关系(多项式函数的叠加)

设置a(n)=8*a(n-1)+3^n+7^n+n^2,按照以前的相同的处理方式有:

a(n-1)=8*a(n-2)+3^(n-1)+7^(n-1)+(n-1)^2

Go

上面两个式子(1)-7*(2)有:

a(n)-7*a(n-1)=8*{ a(n-1)- 7* a(n-2) } + 3^n - 7* 3^(n-1) + n^2-7*(n-1)^2

化简有:

a(n)-7*a(n-1)=8*{ a(n-1)- 7* a(n-2) } +  - 4* 3^(n-1)+ n^2-7*(n-1)^2

递推有:

a(n-1)-7*a(n-2)=8*{ a(n-2)- 7* a(n-3) } +  - 4* 3^(n-2)+ (n-1)^2-7*(n-2)^2

上面两个式子(1)-3*(2)有:

a(n)-a(n-1)-7*{a(n-1)-a(n-2)}=8*{ {a(n-1)-a(n-2)}-7*{a(n-2)-a(n-3)} }

                             +n^2-3*(n-1)^2+7*{(n-1)^2-(n-2)^2}

注意观察最后的尾项可以知道,虽然它陪着7^n,3^n进行了这些运算,但它的形式还是没有变化的,也就是说还是n^2的关系,还需要三次差分推导才能完全消除掉无关项。

所以特征方程可以化简为(x-7)*(x-8)*(x-3)*(x-1)^3=0

按照这种思维可以获得a(n)的通项公式:

a(n)=A*7^n+B*8^n+C*3^n+D*n^3+E*n^2+F*n

在这里先假定初始值为a(1),有如下方程组合:

A*7+B*8+C*3+D+E+F+G=a(1)

A*7^2+B*8^2+C*3^2+D*2^3+E*2^2+F*2^1+G=8*a(1)+7^2+3^2+2^2

A*7^3+B*8^3+C*3^3+D*3^3+E*3^2+F*3^1+G=8* { 8*a(1)+7^2+3^2+2^2 } +7^3+3^3+3^2

A*7^3+B*8^3+C*3^3+D*4^3+E*4^2+F*4^1+G=8* { 8* { 8*a(1)+7^2+3^2+2^2 } +7^3+3^3+3^2 } +7^3+3^3+4^2

A*7^3+B*8^3+C*3^3+D*5^3+E*5^2+F*5^1+G=8* { 8* { 8* { 8*a(1)+7^2+3^2+2^2 } +7^3+3^3+3^2 } +7^3+3^3+4^2 } +7^3+3^3+5^2

A*7^3+B*8^3+C*3^3+D*6^3+E*6^2+F*6^1+G=8* { { 8* { 8* { 8*a(1)+7^2+3^2+2^2 } +7^3+3^3+3^2 } +7^3+3^3+4^2 } +7^3+3^3+5^2 } +7^3+3^3+6^2

GO

不过我们可以用分部计算的方法,将ABC分为一组,将DEFG分为一组,分别针对对应的多项式解得:

A=-7

C=-3/5

 

因为对于1^2+2^2+3^2+..n^2=1/6*n*(n+1)*(2*n+1),而其中没有1^2,所以DEFG对应于多项式1/6*n*(n+1)*(2*n+1)-1

Go

1/6*(2*n^3+3*n^2+n)-1

所以

D=1/3

E=1/2

F=1/6

G=-1

 

回代入有:

a(1)=8*B-49-9/5+1/3+1/2+1/6-1

这里假设B=100

 

 

 

下面写程序来证明:

(defun pow (num count)

(if (or (> count 1) (eq  count  1) )

      (* num 

         (pow num 

              (- count 1) ) )

      1))

 

(defun slayer ( count)

(if (or (> count 1) (eq  count  1) )

      (* count 

         (slayer  

              (- count 1) ) )

      1))

 

 

 

(defun  expr (n)

(if (eq  n 1)

       (+   (*  8.0

               B)

             -49

             -9/5

             1/3

             1/2

             1/6

             -1)   

         (+  (*  8

                 (expr (-  n  

                           1)))

             (pow 3

                  n)

             (pow 7 

                  n)

             (pow n 

                  2))))

 

(setq  A  -7)

(setq  B  100)

(setq  C  -3/5)

(setq  D  1/3)

(setq  E  1/2)

(setq  F  1/6)

(setq  G  -1)

 

(defun  formula (n)

(+  (*   A          

         (pow  7  n))

    (*   B

         (pow  8.0  n))

    (*   C

         (pow  3  n))

    (*   D

         (pow  n  3))

    (*   E

         (pow  n  2))

    (*   F

         (pow  n  1))

    G))

 

 

(defun  test (n)

(if (> n 0)

  (progn 

       (print (expr  n))

       (print  'compare)

       (print (formula n))       

       (test (- n 1)))

  (print 'over)))

 

[16]> (test  1

 

1.0548799E11

COMPARE

1.0539682E11

1.3150682E10

COMPARE

1.3139285E10

1.6387886E9

COMPARE

1.6373641E9

2.0412715E8

COMPARE

2.0394923E8

2.5412672E7

COMPARE

2.5390508E7

3161782.3

COMPARE

3159059.3

393088.4

COMPARE

392773.4

48823.8

COMPARE

48795.8

6055.6

COMPARE

6055.6

749.2

COMPARE

749.2

OVER

OVER

从这个精确的计算过程中也可以看出结果大致是一样的,但其中有点误差。所以我们以前采用的分别计算ABC和DEFG的方法可能是不太准确的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值