我想找到正弦函数的零点。参数是一个区间 [a,b]。我必须类似于二进制搜索。
实现一个函数,在 a 和 b 之间的区间内搜索 sinus 函数中的空点。search-interval[lower limit, upper limit] 应该减半,直到下限和上限之间的距离小于 0.0001。
这是我的代码:
public class Aufg3 {
public static void main(String[] args) {
System.out.println(zeropoint(5,8));
}
private static double zeropoint(double a, double b){
double middle = (a + b)/2;
if(Math.sin(middle) < 0){
return zeropoint(a,middle);
}else if(Math.sin(middle) > 0){
return zeropoint(middle,b);
}else{
return middle;
}
}
}
它给了我很多错误return zeropoint(middle,b);
在第一步中,我只想找到区间中的第一个零点。
有任何想法吗?