| 发表于:2007-10-20 12:40:059楼 得分:15 |
我没看清x*x前还有个- 那就是在[-1,1]区间递增,[1,2]区间递减 最大值应该是抛物线顶点f(1) 用程序来做,可不可以这样 double[] region = {-1, 2}; double a = -1; //ax^2+bx+c的系数 double b = 2; double c = 0.5; double v = -1 * b / (2 * a); //求顶点 //从抛物线知道,a <0时顶点左边递增,右边递减 if (v-region[0]> =0 && region[1]-v > = 0) { //判断区间 //如果顶点在区间,那么顶点最大 system.out.println("f(" + v + ") is max"); } else { if (v-region[1] > 0) { //区间在顶点左边,根据抛物线知道该区间递增 system.out.println("f(" + region[1] + ") is max"); } else { //区间在顶点右边,则该区间递减 system.out.println("f(" + region[0] + ") is max"); } } | | |
|