Java中是否有可以进行集成的方法?

时间:2009-12-11 06:14:46

标签: java integration physics

我正在编写一个用carnot引擎建模的程序,我想计算完成的工作,我需要使用集成。我一直在谷歌四处寻找,并没有找到我想要的,有任何建议吗?

4 个答案:

答案 0 :(得分:6)

Apache Commons Math包含用于集成的现成实现等等。

如果你想自己做的话,

Java Number Cruncher是一本好书。

答案 1 :(得分:3)

看看Didier H Bessette的面向对象的数值方法实现

http://www.amazon.com/Object-Oriented-Implementation-Numerical-Methods-Introduction/dp/1558606793/ref=sr_1_1?ie=UTF8&s=books&qid=1260512473&sr=8-1

根据您的需要,您可以使用各种方程式。

答案 2 :(得分:3)

查看numerical integration。一般的方法是在积分区间内的不同点处对被积函数进行采样,然后用样本的加权和来近似积分 - 想想Riemann和。有许多不同的求积法则,不同的采样分布和加权函数最适合不同类型的被积函数。

大多数均匀宽度正交规则(例如中点规则)非常简单,不需要花费太多工作来编码,但可能需要太多的样本才能获得可接受的精度。可变宽度采样规则(如Gauss-Hermite)要复杂得多,但假设被积函数足够平滑,则在相同精度水平下需要的样本要少得多。您必须阅读各种规则并找出最适合您需求的规则。

我推荐“数字食谱”一书,它涵盖了数值整合方法(以及几乎科学计算中的其他主题)。

答案 3 :(得分:3)

您必须使用外部库,例如this onethis other one。你不能只用原生方法做到这一点(好吧,除非你自己实现集成算法,就像其他答案建议的那样,我认为这不是你想要的 - 否则你不会在这里问: - )