Локализация корней
Чтобы решить задачу предварительной (грубой) локализации корней, в самых простых случаях можно использовать графическое представление f (х) (см. рис. 5.1, 5.2 и 5.4). Понятно, что в случае многомерных систем такой способ практически неприменим. Если требуется исследовать определенную область определения переменных уравнения на наличие корней, определив их примерное положение, то обычно применяют весьма расточительный способ, называемый сканированием. Оно состоит в последовательном поиске корня, начиная из множества пробных точек, покрывающих расчетную область.
Обычно (вне Mathcad) сканирование организуют следующим образом. Область определения функции разбивается на элементарные области (в случае функции двух переменных чаще всего прямоугольные, в случае трех переменных – кубические и т. д.). Из центра каждой элементарной области запускается численный метод поиска корня, и в случае выхода итераций за ее пределы расчеты прерываются, а в противном случае происходит нахождение корня.
Гораздо менее надежной (но зато более экономной) альтернативой является простое вычисление и сравнение между собой невязок системы уравнений в центральных точках элементарных областей. На тех участках области определения, где норма невязки невелика, вероятность локализации корня больше, и именно из локальных минимумов нормы невязки можно запускать градиентный метод для уточнения корня.
Пример организации упрощенного варианта сканирования по одной переменной приведен на рис. 5.6. График функции, корни которой подлежат определению, показан в его верхней части. Затем осуществляется решение уравнения при помощи функции root, для нескольких последовательно расположенных узлов. Результат выдается в последней строке листинга в виде таблицы, из которой видно, что на рассматриваемом интервале уравнение имеет три корня.
Примечание
Конечно, гарантии, что все существующие корни будут найдены, особенно в многомерных случаях, чаще всего нет. Всегда существует вероятность "просмотреть" корень, расположенный между узлами сканирования.
Рис. 5.6. Сканирование по переменной х