2018年12月30日 星期日

微分 積分 近似解





積分方法
敘述
優點
缺點

Trapezoidal Rule

所取之點等距時(等距離之點),以一次Lagrange多項式求出之積分公式。
當函數的二次導數為零時(即不超過一次的多項式)求出的值和精確值完全一樣。
高次項或複雜函數,使用梯形法時,誤差很大。

Simpson’s Rule

所取之點等距時(等距離之點),以二次Lagrange多項式求出之積分公式。
對任何次數不超過3次的多項式,使用Simpson’s Rule所得的值即為精確值。
積分區間較大時,即不適用。

Simpson’s 3-8 Rule

所取之點等距時(等距離之點),以三次Lagrange多項式所求出之積分公式。
對任何次數不超過3次的多項式,使用Simpson’s 3-8 Rule所得的值即為精確值。
積分區間較大時,即不適用。
四等分法
所取之點等距時(等距離之點),以四次Lagrange多項式求出之積分公式。
對任何次數不超過5次的多項式,使用四等分法所得的值即為精確值。
積分區間較大時,即不適用。

Composite Simpson’s Rule

把區間分成n個子區間,然後再對每兩個連續區間執行Simpson’s Rule,但n必需為偶數。
插入的誤差是穩定的。
有時若要提高精確度的話,要把區間分成更多的子區間,計算較複雜。

Romberg Integral

Trapezoidal Rule
求初步之近似解,再以Richardson extrapolation process來改進其進似解。
一種應用很廣的積分方法,準確次數較高,收斂較快。
 


積分公式
誤差項
收斂的order

Trapezoidal rule

3

Simpson’s Rule

5

Simpson’s 3-8 rule

5
四等分法
7

Composite Simpson’s rule

4
Romberg integration
而這個數值積分程式所得出來的結果為一下三角矩陣。其公式為
       
for each k=2,3,…,n
以上為Composite Trapezoidal rule所得出來的結果。
為了加快速度,我們引用Richardson extrapolation process
定義
然後得出
每個值所帶來的截取誤差具有的等級。

附註:
1.      Lagrange多項式:
   
2.      Richardson extrapolation process
   Richardson extrapolation process通常用來以低階的方法求取準確度較高的近似值。其公式為:


理論基礎
要介紹數值微分前我先介紹微分的定義:
它代表曲線在坐標點的切線斜率,因此,只要已知x的函數f(x),便可推導出微分結果。
什麼叫做數值微分法呢?若用來近似上述的微分定義稱為數值微分法。

欲計算一次微分有兩種近似法:
其一,為forward-difference approximation(向前差近似假如h>0
其二,為back-difference approximation(向後差近似假如h<0

無論是向前差近似或向後差近似,一次微分的的近似式至少一定要已知兩點方能計算一次微分的f’(x)的近似值。然而,若使用的點數愈多則向前差,向後差的近似式愈接近真實實函數之微分結果,換言之,準確度愈高,因此,省略誤差項目會變小。

這裡我使用目前最常用的三種數值微分方法。

微分方法
敘述
注意
Three-point Formula (1)
forward-difference approximation用已知三點所得之方法
向前差近似法與向後差近似法的誤差的減小與h的減小成近似正比關係,但並不是一昧使h愈小能使誤差變小。數值微分是一種近似法,當取較小的h值時有時後會因為電腦運算的四捨五入(Round off)而導致誤差,而使數值微分處於不穩定,換言之,選擇適當大小的h值是一件值得重視的事。
Three-point Formula (2)
forward-difference approximation用已知兩點所得之方法
同上
Five-point Formula
forward-difference approximation用已知五點所得之方法
同上

微分公式
誤差項
收斂的order
Three-point Formula (1)
3
Three-point Formula (2)
2
Five-point Formula
4
現在求f’(2.0)的值。
h=0.1得到上述式子一的答案為22.032310,使用式子二的得到22.228790,使用式子三得到22.166999
h=-0.1得到上述式子一的答案為22.054525
h=0.2得到上述式子二的公式為22.414163
然而f’(2.0)的真實值為22.167168
誤差項分別為0.135,-0.0616,-0.000169,0.113,-0.247


沒有留言:

張貼留言

Node-Red Dashboard UI Template + AngularJS 參考 AngularJS教學 --3

  Node-Red Dashboard UI Template + AngularJS 參考 AngularJS教學 --3 AngularJS 實例 <!DOCTYPE html> <html> <head> <meta charse...