特殊形式的差分方程

特殊形式的差分方程

形式为a(n)=2*a(n-1)^2-1的差分方程,根据以前的经验:

可以转化为a(n-1)=(sqrt  (/  {1+a(n)}  2  ) )

如果当a(n)=0.5  (即小于1的时候,可以用三角函数确定值,这样也就能确定每一个a(n-1)的值了。

下面是程序验证:

注意这种程序有两个重要的限制条件,0<a(n)<1,是从尾部向前移动的,与一般思维不一样。

 

 

下面写程序来证明:

(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  look ( init left right  value )

(if (< (abs (-  (cos  init ) value ))  (/ 1.0  10000000))

       init

      (if  (<  (cos  init ) value )

              (look   (/  (+  init left ) 2.0) left init value)

              (look   (/  (+  init right ) 2.0)  init right value))))

 

(setq  an   (look  0.1  0  (/ pi 2 )  0.5))

 

(defun  expr (n x)

(if (eq  n 1)

       (cos  x)

    (-  (* 2 

           (pow (expr  (1-  n) 

                       x)

                2))

        1)))

 

 

 

 

(defun  test (n)

(if (> n 0)

  (progn 

       (print (expr   n  (/ an (pow  2 (1- n))) ))

       (print  'compare)

       (print (cos an))        

       (test (- n 1)))

  (print 'over)))

 

(test  10) 

 

对于绝大部分差分方程来说,上面的两个条件都不满足,这个时候应该怎样求解???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值