я следующий вызов:Алгоритм для нахождения нулевой точки
Реализовать функцию, которая ищет нулевой точки функции синусового в интервале между а и Ь. Интервал поиска [нижний предел, верхний предел] должен быть уменьшен до половины, а нижний предел и верхний предел меньше 0,0001 друг от друга.
Найти условия, в которых разрешенный интервал поиска должен быть продолжен. Поэтому, сократив интервал на два интервала, мы должны выбрать один, чтобы продолжить наш поиск.
Мы предполагаем, что в интервале между a и b имеется только одна нулевая точка.
Я борюсь с точкой 1. У меня уже были некоторые вопросы по этой теме, которые помогли мне много, но теперь мне нужно реализовать в Java, но это еще не работает.
Вот мой код до сих пор:
private static double nullstelle(double a, double b){
double middle = (a + b)/2;
double result = middle;
if(Math.abs(a-b) > 0.0001){
double sin = Math.sin(middle);
if(sin > 0){
result = nullstelle(a, middle);
}else{
result = nullstelle(middle, b);
}
}
return result;
}
Я пытался реализовать с помощью рекурсии, но, может быть, другой способ будет лучше, я не знаю. Любые идеи?
Разве это не тот же самый вопрос, который вы размещены здесь: http://stackoverflow.com/questions/4086385/find-zero-points-with -recursion – Grodriguez
О, а также здесь: http://stackoverflow.com/questions/4085115/find-null-points-of-sinus-function – Grodriguez
Если x1 и x2 на графике являются значениями, которые вы используете для 'a 'и' b', ваши тестовые данные нарушают предположение в 2). – Simon