对差分方程应用微分方法

对差分方程应用微分方法
假设数列a(n)=x^1/1+x^2/2+...x^n/n
Go
分别微分为
b(n)=1+x+x^2+x^3+...+x^(n-1)
求得b(n)={x^n-1}/{x-1}
对b(n)积分可以得
a(n)=这里有可能是没有办法解出来的,如果能够算出来,那调和级数不就没问题了吗?
在这里假设-1<x<1,这样有可以算大概
Go
b(n)=1/(1-x)
Go
b(n)=-log(1-x)
如下是代码的验证:

(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)
          (/     (pow x n)
                 n))))

/*
(defun  calc  (n  x  count)
(/  (-  (pow  x 
              (+ count 2) )
         x)
    (-   x 
         1)))
*/
(defun  calc  (n  x  count)
(-   0
     (log  (-  1  x)))) 


x=0.5

(defun  test  (count)
(if  (>  count  0)
    (progn
            (print (expr  1  0.5  count))
            (print 'compare )
            (print  (calc  1  0.5  count))
            (test  (-  count  1)))
    (print 'over)))
(test  100)
通过结果可以观察到,在100以内,两个结果就已经完全一样了。

 

 

              
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值