取自实验室:
本练习的目的是实施中点法则(也称为矩形法)>用于函数的数值积分。
声明一个泛型接口函数如下:
公共接口函数 {B apply(A arg); }
然后编写一个 Maths 类,其方法为实现 > 函数 f 的中点规则,该函数 f 将在 n 个等间距 > 步骤中在 lowerBound 和 upperBound 之间进行积分:
公共静态双积分(函数f,双下界,双上界,int n)
通过 0 和 1 之间的平方函数的数值积分来测试您的代码(结果应该约为 1.0/3.0)
0 和 PI/2 之间的 sinus 函数(参见 java.lang.Math 类,结果应该 > 大约 1.0) 在这个练习中使用命名的本地类(比如“Sinus”和“Square”)似乎很自然,> 但是如果您愿意,也可以使用匿名本地类。
我查看了维基百科页面,但我无法真正理解整个概念(尤其是上限和下限的含义)。Afaik 这只是获取线下面积的方法,给定 N 个矩形用于获取线上每个切点的面积。我不知道如何将它与上述函数联系起来——也许是递归?而且我也从未见过类似的东西:
B 应用(A 参数)
--
到目前为止,我已经取得了进展:
public class MidPointRule {
public MidPointRule() {
}
public static double integrate(Function<Double,Double> f, double lowerBound,double upperBound, int n){
double width = upperBound-lowerBound/n; // width is current width-nextwidth/n?
return integrate(f,lowerBound,upperBound,n);
}
public static void main(String[] args) {
// sq function between 0 and 1, sinus function between 0 and PI/2.
}
}