尝试使用Java的Apache Commons Math和用户指定的功能进行积分

问题描述

我正在尝试创建一个计算积分的函数,而参数之一就是积分表达式本身。

这是代码

public double ContCDFMean(double lower,double upper,String formula) {
    SimpsonIntegrator simp = new SimpsonIntegrator();
    
    final UnivariateFunction func = new UnivariateFunction() {
        public double value(double x) {
            return x; //I want this to be the formula
        }
    };
    
    return simp.integrate(10,func,lower,upper);
}

基本上,此函数将采用积分的上下限,而String公式将作为表达式。例如,ContCDFMean(0,1,1 /(2 * x))将计算1 /(2x)dx的从0到1的积分。

我在UnivariateFunction上遇到困难。我不确定如何将String公式转换为SimpsonIntegrator可以接受的表达式。我要解决这个错误吗?有更简单的方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)