Как найти минимальные / максимальные значения для использования с Root Solvers? - PullRequest
1 голос
/ 03 октября 2011

Я хочу использовать корневые решатели (например: BrentSolver) в Commons Math, чтобы найти корни для полиномиальных функций, но все они, кажется, требуют использования начальной оценки для минимума / максимума, где функция имеет разные сигналы.

Итак, как мне это сделать? Я знаю, что могу вычислить f (x) для точек внутри любого интервала, который я имею в виду, но если мой Интервал слишком большой, я все еще буду это делать? Насколько большим должен быть шаг между каждой попыткой? Нет ли лучшего способа сделать это?

Ответы [ 2 ]

1 голос
/ 03 октября 2011

Вы можете попробовать Durand-Kerner-Weierstrass в качестве оценки или проверки.Реализация Java показана здесь .

1 голос
/ 03 октября 2011

Я думаю, что они хотят, чтобы начальный интервал для поиска. Значения min и max определяют регион, где вы думаете, корни.

Я не знаю, что вы подразумеваете под "слишком большим интервалом". Это не будет +/- бесконечность; у вас должна быть область интереса для начала.

Запустите его один раз; посмотрим, что вы получите. Попробуйте несколько других интервалов, чтобы увидеть, можете ли вы найти истинный глобальный минимум / максимум.

Невозможно использовать численные методы как полный черный ящик. Вы должны знать кое-что о своей функции и о том, как работают методы. Используйте их как итеративный инструмент, чтобы узнать что-то о вашей функции интереса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...