2013-10-12 23 views
0

我正在尋找一個函數,該函數使用高斯積分或辛普森積分在數值積分中產生重大誤差。函數在數值積分中的誤差

+1

歡迎來到Stack Overflow Damian!您不需要用您的姓名簽署您的帖子,它會自動附加在每篇文章的末尾(請閱讀常見問題解答!)。這個問題不太適合堆棧溢出,你可能想嘗試http://math.stackexchange.com/或http://scicomp.stackexchange.com/。 – Hooked

回答

1

由於辛普森和高斯的方法試圖用一些簡單的光滑函數(如二階多項式)擬合一個所謂的平滑函數,否則使用低階多項式和其他簡單的代數函數,如$$ a + 5/6 $$,有意義的是,最大的挑戰將是不是二階多項式或類似於這些簡單函數的函數。

  • 階躍函數,或更一般的函數是短期運行常量,然後跳轉到另一個值。樓梯或沃爾什函數(用於一種二進制傅里葉變換)應該很有趣。只是一個簡單的單步不適合任何多項式近似。

  • 嘗試一個高階多項式。只要x^n大n應該很有趣。也許減去一些大n的x^n - x ^(n-1)。 「大」有多大?對於辛普森來說,也許是4或更多。對於使用k個點的高斯,n> k。 (不要試圖超出適度的兩位數字;除了任何積分之外,這只是一個令人討厭的計算。)

  • 很少有數值積分方法,例如極點,即對某些鄰域類似1 /(xa)的函數在...附近。由於處理實際無窮可能會遇到麻煩,請嘗試將其從實線或複共軛對推出。使用1 /((x-a)^ 2 + b)做一個大但有限的尖峯,其中b> 0很小。或者表達式的平方根,或者它的正弦或指數。你可以用更大的力量取代「2」,我敢打賭這會很討厭。

曾幾何時,我想測試一個數值積分例程。我從一些階梯函數或一列矩形脈衝開始,在一些點上採樣。

我使用Savitzky-Golay濾波器計算了一個近似導數。 SG可以使用相鄰點的有限窗口區分數值數據,但通常用於平滑。它需要一個窗口大小(點數),多項式順序(實踐中2或4,但你可能想要堅持更高)和差異順序(通常0爲平滑,1爲導數)。

結果是一系列的脈衝,然後我就整合了。一個好的例程會重建原始的階梯或矩形脈衝。我想如果選擇正確的SG參數,你會讓Simpson和Gauss在他們的墳墓裏翻滾。