先知cd——熱愛生活是一切藝術的開始
寫下來的都是資源,分享給互聯網~~均屬原創隨筆。 轉載引用請注明作者changedi。 喜歡應用研究,熱愛編程,歡迎交流。
看其他篇章到目錄選擇。
積分可以說是最常見的了,在函數的一節中我們講過函數的微分和給定變量求值,這里我們講講通過函數求積分,具體的數值積分方法和應用。什么是數值積分?在數值分析中,數值積分是計算定積分數值的方法和理論。在數學分析中,給定函數的定積分的計算不總是可行的。許多定積分不能用已知的積分公式得到精確值。數值積分是利用黎曼積分等數學定義,用數值逼近的方法近似計算給定的定積分值。借助于電子計算設備,數值積分可以快速而有效地計算復雜的積分。Commons Math中的積分包analysis.integration提供了幾種數值積分的實現,UnivariateRealIntegrator接口是積分包中的基礎接口,該接口繼承了math包中的ConvergingAlgorithm接口。具體定義了一系列方法,其中比較主要的有double integrate(UnivariateRealFunction f, double min, double max)方法,這個方法就是通過min和max設定積分區間,通過f設定被積函數,最后返回定積分值的方法??梢钥吹竭@個接口的實現是針對單變量實函數的。多元積分的實現,目前還沒有看到。
那么看到了具體的結構類圖。我們以辛普森法則求積分的方法為例來看看如何應用Commons Math庫。具體的辛普森積分法可以見本文的參考資料。
測試代碼如下,其中用到的正弦函數類在2.1節講述函數的時候有定義,忘記的同學可以回顧一下。
輸出結果: f(x)=sin(x) integration of f(x) from 0 to Pi is 2.000000064530001
相關資料:
積分:http://zh.wikipedia.org/zh-cn/%E7%A7%AF%E5%88%86
辛普森積分法:http://zh.wikipedia.org/zh-cn/%E8%BE%9B%E6%99%AE%E6%A3%AE%E7%A9%8D%E5%88%86%E6%B3%95
辛普森積分法2: http://mathworld.wolfram.com/SimpsonsRule.html
Commons math包:http://commons.apache.org/math/index.html
posted on 2010-12-19 21:27 changedi 閱讀(3400) 評論(0) 編輯 收藏 所屬分類: 數學
Powered by: BlogJava Copyright © changedi