先知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 阅读(3384) 评论(0) 编辑 收藏 所属分类: 数学
Powered by: BlogJava Copyright © changedi