《計算機程序的構造和解釋》學習筆記———數值積分

一、數值分析

  數值分析(英語:numerical analysis),是指在數學分析(區別於離散數學)問題中,對使用數值近似(相對於一般化的符號運算)演算法的研究。

  (參考:http://zh.wikipedia.org/wiki/數值分析

  研究領域:

    1.函數求值

    2.內插法、外推法、曲線擬合及回歸

    3.求解方程及方程組

    4.求解特徵值或奇異值問題

    5.最優化

    6.積分計算

    7.微分方程

二、數值積分

  在數值分析中,數值積分是計算定積分數值的方法和理論。在數學分析中,給定函數的定積分的計算不總是可行的。許多定積分不能用已知的積分公式得到精確值。數值積分是利用黎曼積分等數學定義,用數值逼近的方法近似計算給定的定積分值。

  (參考:http://zh.wikipedia.org/wiki/數值積分

三、數值積分方法:

  矩形法:(黎曼積分,計算一維定積分近似值)

    \int_I f(t) dt \approx \mathbf{I}_{\mbox{appr}}(c_1, x_1, c_2,  x_2 ,\cdots , c_n, x_n) = \sum_{i=0}^{n-1} (x_{i+1}-x_i)f(c_i)

   LISP實現(中矩形公式):

(define (sum term a next b)
  (if (> a b)
      0
      (+ (term a) (sum term (next a) next b))))
(define (integral f a b dx)
  (define (integral-next x)
    (+ x dx))
  (* (sum f (+ a (/ dx 2.0)) integral-next b) dx))

  插值法:

    拉格朗日差值公式(http://zh.wikipedia.org/wiki/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E6%8F%92%E5%80%BC%E6%B3%95

  牛頓-寇次公式:http://zh.wikipedia.org/wiki/%E7%89%9B%E9%A0%93%EF%BC%8D%E5%AF%87%E6%AC%A1%E5%85%AC%E5%BC%8F

    拓展實現:辛普森法則;梯形法則。

    梯形法則:(可LISP實現)

       思想:被積函數近似為直線函數,被積的部分近似為梯形。

      (求解多個梯形面積和)

   \int_{a}^{b} f(x)\, dx \approx (b-a)\frac{f(a) + f(b)}{2}.

      (利用梯形面積推導)

    辛普森法則:(可LISP實現)

       思想:被積函數近似爲過中點的二次函數。(以二次曲線逼近的方式取代矩形或梯形積分公式,以求得定積分的數值近似解。)

  \int_{a}^{b} f(x) \, dx \approx \frac{b-a}{6}\left[f(a) + 4f\left(\frac{a+b}{2}\right)+f(b)\right]

    (利用二次函數積分推導)

(define (integral-v3 f a b n) 
(define (integral-inner f a b k n)
  (define (pre-fix x)
    (cond ((= x 0) 1)
          ((= x n) 1)
          ((even? x) 2)
          (else 4)))
  (if (or (> a b) (> k n))
     0
     (+ (* (/ (/ (- b a) n) 3.0)
           (pre-fix k)
           (f (+ a (* k (/ (- b a) n)))))
        (integral-inner f a b (+ k 1) n))))
(integral-inner f a b 0 n))



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章