Я довольно новичок в программировании и только что поступил в колледж.
До сих пор я изучил некоторые базовые циклы, но вопрос в том, как определить минимальный диапазон конкретной функции?
Вот случай:
«Выберите первый интервал, найдя a и b такие, что ? (?) ∙ ? (?) <0» </p>
и функция, которую я должен использовать: 8−4.5 (? − sin?) = 0
Теперь меня попросили ввести 2 числа в этой функции и умножить их.
Вот пример:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
double b = sc.nextDouble();
System.out.println(function(a)*function(b);
public static double function(double x) {
double resultF = 0;
resultF = 8 - (4.5 * (x - Math.sin(x)));
return resultF;
}
который у меня уже есть класс для него.
Теперь проблема в том, как найти минимальное значение, если бы я вводил 2 (функция (а) * функция (б)) так, чтобы оно было близко к нулю.
Итак, все начинается с ввода пользователем 2 случайных чисел. Тогда им обоим придется пройти через функцию 8−4.5 (?-sin?) = 0.
После вычисления чисел вы берете оба этих «вычисленных числа» и умножаете их вместе.
То, что я пытаюсь сделать здесь, это попытаться создать цикл, который бы автоматически сокращал интервал «ввода» и делал их максимально близкими к нулю. (Ссылаясь на функцию 8-4,5 (?-sin?) = 0)
Пока что я могу сделать:
пакет com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
double b = sc.nextDouble();
double resultA = function(a);
double resultB = function(b);
double newA = 0;
double newB = 0;
System.out.println(resultA * resultB);
System.out.println(resultA*resultB);
if (resultA*resultB >=0) {
if(a<b) {
while(function(a)*function(b)>=0) {
newA = a++;
newB = b--;
}
} else if(a > b) {
while(function(a)*function(b)>=0) {
newA = a--;
newB = b++;
}
}
}
}
Я знаю, что минимальный интервал составляет 3 и 2, но я не знаю, как заставить мой цикл работать.
Спасибо за ваши ответы!
Мы ценим любую помощь!
Спасибо