我正在尋找一個函數,該函數使用高斯積分或辛普森積分在數值積分中產生重大誤差。函數在數值積分中的誤差
回答
如果你正在尋找一個困難的功能整合爲一個測試方法,你可以考慮一個在CS堆棧交換問題:,其中一個答案建議使用
Method for numerical integration of difficult oscillatory integral
在這個問題上Matlab的chebfun庫,其中包含基本的Levin-type method的實現。這表明,該功能將失敗,使用更簡單的方法,如辛普森的規則。
由於辛普森和高斯的方法試圖用一些簡單的光滑函數(如二階多項式)擬合一個所謂的平滑函數,否則使用低階多項式和其他簡單的代數函數,如$$ 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在他們的墳墓裏翻滾。
- 1. lambda函數與gsl的數值積分
- 2. Applovin積分誤差
- 3. 積分函數
- 4. 樣條函數在半對數空間中的數值積分
- 5. 數值雙積分函數處理
- 6. 數值積分
- 7. uWsgi nginx的積分誤差
- 8. 的Python/HTML積分誤差
- 9. Facebook的JS積分誤差
- 10. MatLab中的數值積分
- 11. 一組值的累積分佈函數
- 12. 累積式差分數據在MySQL表
- 13. 在積分函數上獲取以下錯誤函數
- 14. 誤差積分PHP到HTML
- 15. 累積分佈函數,閾值,R
- 16. 數值積分python
- 17. 的Actionscript&jQuery函數積分
- 18. Python中的數值積分與矢量化函數的自適應求積
- 19. 累積分佈函數錯誤
- 20. 矩陣在Matlab中的數值積分
- 21. 使用嵌套積分的四元積分輸入數組尺寸誤差
- 22. 誤差函數
- 23. R中多變量函數的數值積分問題
- 24. Matlab的數值積分
- 25. 在scipy中正常數值積分
- 26. Matlab中的高效積分函數
- 27. c中的反累積分佈函數
- 28. 的iOS的GameCenter積分誤差
- 29. Facebook的Android的積分誤差
- 30. 積分單位階躍函數或三角函數在matlab中
歡迎來到Stack Overflow Damian!您不需要用您的姓名簽署您的帖子,它會自動附加在每篇文章的末尾(請閱讀常見問題解答!)。這個問題不太適合堆棧溢出,你可能想嘗試http://math.stackexchange.com/或http://scicomp.stackexchange.com/。 – Hooked