首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算apache commons math3库中函数的积分?

如何计算apache commons math3库中函数的积分?
EN

Stack Overflow用户
提问于 2013-06-03 20:40:54
回答 1查看 3.3K关注 0票数 4

我正在尝试集成一个非常简单的函数。整数(x.dx)。我得到的答案不是1,而是0,或者当我包括从0到1的限制时,我得到的答案是0.5。关于apache commons库中集成的实现,我是不是有什么误解?

代码语言:javascript
复制
import org.apache.commons.math3.analysis.integration.*;
import org.apache.commons.math3.analysis.polynomials.*;

public static void main(String args[])
{
    SimpsonIntegrator simpson = new SimpsonIntegrator();
    TrapezoidIntegrator trapezoid = new TrapezoidIntegrator();
    double[] vector = new double[2];
    vector[0] = 0;
    vector[1] = 1;

    PolynomialFunction f = new PolynomialFunction(vector);
    UnivariateFunction uf = (UnivariateFunction)new PolynomialFunction(vector);
    System.out.println("To String " + uf.toString());
    System.out.println("Degree: " + f.degree());

    double i = simpson.integrate(10, uf, -Float.MAX_VALUE, Float.MAX_VALUE);
    double j = trapezoid.integrate(10, uf, 0, 1);
    System.out.println("Simpson integral : " + i);        
    System.out.println("Trapezoid integral : " + j);        
}
/*** OUTPUT 
To String x
Degree: 1
Simpson integral : 0.0
Trapezoid integral : 0.5
***/
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-03 21:29:10

我认为这和预期的一样。你要积分的函数是斜率1的直线。

在0和1之间,面积为0.5。在所有的空间上,上面和下面的积分相互抵消,得到0。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16896961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档