用差分方程对算法进行精确分析

用差分方程对算法进行精确分析
a(n)=A*a(n/2)+C  ,initvalue  a(1)=1 ,a(2)=A+C ,a(4)=A*(A+C)+C
由于以前的积累,可以直接假定a(n)=M*A^{(log n)/(log 2)}+N
(上式可以化简为a(n)=M*n^{(log A)/(log 2)}+N ,与主方法联系起来了)

Go
a(1)=1=M+N
a(2)=A+C=M*A+N

Go
M=1+C/(A-1)
N=-C/(A-1)

(setq  A  2.0)
(setq  C  5.0)
(setq  M  (+  1
              (/  C  (-  A  1))))
(setq  N  (-  0
              (/  C  (-  A  1))))             


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

(defun  expr (n)
(if (eq  n 1)
       1
     (+   (*  (expr  (/  n  2))  A  )
           C)))

 


(defun  formula (num)
(+   (*  M  
         (pow  A 
               (/  (log num)
                   (log  2.0))))
     N))

 

(defun  test (n)
(if (> n 0)
  (progn
       (print (formula n))
       (print  'compare)
       (print (expr n))
       (test  (-  (/ n 2) (mod  n  2))))
  (print 'over)))

(test  64)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【有限分初学者必备】如何根据问题的特点将定解区域作网格剖分;如何把原微分方程离散化为方程组以及如何解此代数方程组。此外为了保证计算过程的可行和计算结果的正确,还需从理论上分析方程组的性态,包括解的唯一性、存在性和分格式的相容性、收敛性和稳定性。对于一个微分方程建立的各种分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。另外,一个分格式是否有用,最终要看方程精确解能否任意逼近微分方程的解,这就是收敛性的概念。此外,还有一个重要的概念必须考虑,即分格式的稳定性。因为分格式的计算过程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值 ,直到与初始值有关。前面各层若有舍入误,必然影响到后面各层的值,如果误的影响越来越大,以致分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误的传播是可以控制的,就认为格式是稳定的。只有在这种情形,分格式在实际计算中的近似解才可能任意逼近方程精确解。关于分格式的构造一般有以下3种方法。最常用的方法是数值微分法,比如用商代替微商等。另一方法叫积分插值法,因为在实际问题中得出的微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。此外还可以用待定系数法构造一些精度较高的分格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值