2

我正在用java编写一个模拟卡诺引擎的程序,我想计算完成的工作,我需要使用集成。我一直在谷歌上四处寻找,并没有找到我想要的东西,有什么建议吗?

4

4 回答 4

7

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

如果您想自己动手,Java Number Cruncher是一本好书。

于 2009-12-11T07:03:46.737 回答
3

查看Didier H Besset的面向对象的数值方法实现。

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

您可以使用各种方程式,具体取决于您的需要。

于 2009-12-11T06:22:01.173 回答
3

看看数值积分。一般的方法是在积分区间内的各个点对您的被积函数进行采样,然后用样本的加权和来近似积分 - 想想黎曼和。有许多不同的求积规则,具有最适合不同类型被积函数的不同采样分布和加权函数。

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

我推荐这本书 Numerical Recipes,它广泛涵盖了数值积分方法(以及科学计算中的几乎所有其他主题)。

于 2009-12-11T06:45:38.670 回答
3

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

于 2009-12-11T07:02:31.607 回答