对差分方程应用积分方法
假设数列a(n)=1+2*x^1+3*x^2+...(n+1)*x^n
Go
分别积分为
b(n)=x+x^2+x^3+...+x^(n+1)
求得b(n)={x^(n+2)-x}/{x-1}
对b(n)微分可以得
a(n)={ (x-1)*{(n+2)*x^(n+1)-1} - { x^(n+2) - x} }/ (x-1)^2
如下是代码的验证:
(defun pow (num count)
(if (or (> count 1) (eq count 1))
(* num
(pow num
(- count 1) ) )
1))
(defun expr (n x count)
(if (> n count)
0
(+ (expr (+ n 1)
x
count)
(* (1+ n)
(pow x n)))))
/*
(defun calc (n x count)
(/ (- (pow x
(+ count 2) )
x)
(- x
1)))