如何解决尝试使用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 举报,一经查实,本站将立刻删除。