辛普森積分法則分為  法則與  法則兩個方法,且同樣具有代數精度

時間複雜度也同樣為,不過法則的截尾誤差比法則還要小一點

在表現上也是稍優於法則的。

因此,個人在設計上主要是以法則為主,再以法則為輔。

先來看一下法則的表示式:

其中

以及法則的表示式:

其中

有公式就簡單一點了,照著公式的邏輯去刻程式碼…,大致的思路如虛擬碼(亂寫)

==================================================================

辛普森積分法(Simpson's rule)演算法(Algorithm)

dim a,b as double,n as long,function as double,ε as double

a = x0

b=xn

ε=1E-25

if n mod 2 =0 then

run   Simpson's one third rule

elseif n  mod 3 = 0 then

run  Simpson's three eighth rule

else

run combine Simpson's both rule

end if

do until abs∣result-exact∣ ≤ ε

run result

==================================================================

來測試一下效果如何,以計算為例

其精確解為,程式跑出來的結果如下…。

※順帶一提,上圖的N是經由辛普森積分法反推所需之區間數為何(也就是大概要切多細的意思)。

 

文章標籤
全站熱搜
創作者介紹
創作者 haruka 的頭像
haruka

【wei*2】

haruka 發表在 痞客邦 留言(0) 人氣(739)