Иллюстрированный самоучитель по MathCAD 12

Метод продолжения по параметру

Почему же происходят эти скачки с одного семейства решений на другое? Конечно, причина кроется в выборе начального значения для вычисления каждого из корней. Линия начальных значений х=1 обозначена на графике функции (рис. 5.11) в виде пунктирной вертикальной прямой. Для а0=3, и вообще для нескольких первых а0 начальное значение х=1 находится ближе всего к нижнему семейству решений. Поэтому неудивительно, что численный метод находит именно эти корни. В правой части графика к линии начальных значений ближе второе (верхнее) семейство решений, к ним-то и приводит численный метод.

Приведенные соображения диктуют очень простой рецепт избавления от скачков и нахождения одного из семейств непрерывных решений. Для этого требуется при поиске каждого (i+1)-го корня взять начальное значение, по возможности близкое к отыскиваемому семейству. Неплохим вариантом будет выбор приближения в виде предыдущего 1-го корня, который был найден для прошлого значения параметра а0.

Возможный вариант воплощения этого метода, называемого продолжением по параметру, приведен в листинге 5.18. В нем функция root применена внутри функции пользователя f(x0,a), определенной в самом начале листинга с помощью средств программирования. Назначение функции f (х0,а) заключается в том, что она выдает значение корня для заданного значения параметра а и начального приближения к решению хо. В остальном смысл листинга повторяет предыдущий, за исключением того, что осуществляется поиск сразу обоих семейств решений у и z, причем для каждого сначала явно задается начальное значение только для точки а0. Для всех последующих точек, как следует из последней строки листинга, взято начальное значение, равное предыдущему корню.

Листинг 5.18. Поиск зависимости x(a) решения уравнения ln(ax2)=x методом продолжения:

Иллюстрированный самоучитель по MathCAD 12 › Нелинейные алгебраические уравнения › Метод продолжения по параметру

Иллюстрированный самоучитель по MathCAD 12 › Нелинейные алгебраические уравнения › Метод продолжения по параметру
Рис. 5.13. Поиск зависимости х (а) решения уравнения ln(ах2) =х методом продолжения (продолжение листинга 5.18)

Результаты вычислений, приведенные в виде двух графиков на рис. 5.13, разительно отличаются от предыдущего. Как видно, столь малое изменение идеологии применения численного метода привело к определению непрерывного семейства корней. Отметим, что получить результат рис. 5.12 (без продолжения по параметру) в терминах введенной нами в листинге 5.18 функции f(x0,a) можно, изменив ее первый аргумент на константу: f (1,ai).

Примечание
С помощью метода продолжения можно решать и соответствующие задачи оптимизации, зависящие от параметра. Идеология в этом случае остается точно такой же, но вместо функций решения нелинейных уравнений root или Find вам следует применить одну из функций поиска экстремума Minerr, Maximize или Minimize (СМ. разд. 6.1 и 6.2)
.

Мы привели основную идею и один из возможных способов реализации метода продолжения по параметру. Безусловно, вы можете предложить иные, как математические, так и программистские решения этой проблемы. В частности, для выбора очередного начального приближения к корню можно использовать результат экстраполяции уже найденной зависимости х (а), придумать более сложные алгоритмы для ветвящихся семейств решений и т.д.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.