算法错误,找到行之间的区域

时间:2014-01-26 17:39:40

标签: java algorithm calculus

我正在做我的数学计算,它需要我计算2行之间的区域。我解决了他们中的几个,我把它们弄好了(它在线,所以它告诉我我是错还是对),然后我想写一个程序为我做计算,我创建了一个很好的算法,用java做了程序,但最终它没有给我正确的答案。 我把我已经解决过的一个问题中的数据放入了我是否对错。

你能告诉我算法中的错误吗?

public class DailyHelper {

public static double f(double x) {
    double y = 5*x;
    return y;
}

public static double g(double x) {
    double y= 4*x*x;
    return y;
}

public static void main(String[] args) {
    double xLower = 0;
    double xHigher = 5/4;
    double areaF=0;
    double areaG=0;
    double change = (xHigher-xLower)/100000;
    for(double k=xLower; k<xHigher; k=k+change) {
        areaF = areaF+(change*f(k));
    }

    for(double k=xLower; k<xHigher; k=k+change) {
        areaG = areaG+(change*g(k));
    }
    double area = areaF-areaG;
    System.out.println(area);
}
}

2 个答案:

答案 0 :(得分:5)

快速思考。 您的xHigher变量始终为1,因为您将int除以int。试试5/4d

答案 1 :(得分:0)

如果存在2条直线随机线,并且您想要计算垂直线L1和L2的面积,则L1 http://en.wikipedia.org/wiki/Numerical_integration#Methods_for_one-dimensional_integrals