計算方法(一)——計算機求積分方法,機械求積法


 

機械求積法

轉載請注明出處!

一、引言

  隨着人工智能的興起,在計算機領域又一次掀起了數學熱,不管是傳統的機器學習,還是現在的深度學習,都離不開積分的支撐,那計算機在底層到底是怎樣求積分的呢?小編同大家一起探討。

二、理論推導

    我們知道,在我們所學的微積分中我們是通過牛頓-萊布尼茲公式進行求解,然而在實際運用中我們往往會遇到比較復雜的函數,他們的原函數我們往往是找不到的,這個時候我們應該怎么求解呢?

  我們不難想的辦法是定義法,也就是把區間進行划分,當分點非常多的時候我們就可以用矩形面積代替曲線所圍成的面積,然而我們為了得到精度很高的結果往往需要划分等多區間,這樣計算的次數將大大增加。

  那應該怎么優化呢?這里我們介紹一種求積分的辦法:機械求積法。

  機械求積分法前戲:

     在微積分中我們求定積分時不僅有牛頓-萊布尼茲公式,同時還有積分中值定理:

     若函數閉區間 上連續,,則在積分區間上至少存在一個點,使下式成立

    

    其中,a、b、滿足:a≤≤b。[

    我們從上式子出發,將求積分的問題轉化為找某一個的問題,那怎么替代呢?

    假設我們的函數是一個0次函數也就是一個F(x) = C 是一個常函數時候,在[a,b]區間的定積分就是(a-b)*f(a),也就是矩形面積,這樣我們的f()=f(a),我們繼續加入是一次的呢?F(x) = ax + b

    我們很容易想到這個圖形是一個梯形。

                                              

    因而其積分=(b-a)*[f(a)+f(b)]/2,這就是我們的梯形公式,這里的f()=[f(a)+f(b)]/2,那問題來了,要是函數是一個不規則的曲線呢?那我們該怎么做呢?

 

    很容易想到的就是把區間細分成很多個小區間,然后在每個區間找一個合適的f(),然后再求積分,再求和就好了,是的這就是們的思路,這個辦法就是機械求積法。我們下面給出定義:

    機械求積法:

      

                      

三、代數精度概念

   在知道機械求積公式之后,那我們怎么檢驗一個求積公式的好壞的?這里我們引入代數精度的概念。

  定義:

     如果某個求積公式對於次數不超過m的多項式均能准確成立,而對於m+1次的的多項式不准確成立,則稱該公式具有m次代數精度。

     (代數精度越高,越精確)

  我們來看看梯形公式的代數精度:(在驗證時候只要取1,x,x^2,x^3.......等就行了,其他都可以由這幾個組合而成)

    F(x) = (b-a)*[f(a)+f(b)]/2,當 f(x) = 1時候,設a=0,b=1,顯然成立,而f(x) = x 時,用牛頓-萊布尼茲公式算得:x^2/2|100.5,而用梯形公式得到的也是0.5,這樣對於f(x) = x時也精確成立,而當f(x) = x^2時候則不成了,那么我們就說

  梯形公式具有一次代數精度,其他的代數精度的確定方法也同上。

 

四、插值型求積公式

  我們在第二部分時候知道,我們的目的就是不斷的划分區間直到有辦法精確的求出積分(找到f()),此外呢,我們還可以通過插值法擬合曲線,把問題轉化為數值問題。

  (沒有接觸插值法的可以移步) 見鬼吧拉格朗日插值法

  這里我們用插值得到的插值多項式子替代原函

    

   

 

  

這就是插值型積分公式,這樣我們就通過插值法可以減少運算,然而這並不是我們最終要的,這只是個開始,更牛的還在后頭,請持續關注Jack計算方法系列博客。

轉載請注明出處!

 點擊看看主頁其他內容唄! 

 

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM