Для нахождения экстремумов функций существует несколько возможностей.
Первая заключается в использовании блока given и функции minerr.
Для ее использования выбираем число, заведомо большее (или меньшее) экстремального значения функции (например по графику), и записываем его в качестве ограничения в блоке Given. Функция minerr возвращает значение аргумента, при котором расхождение между заданным числом и значением функции минимально на том участке, где выбрано начальное приближение.
Пример 7. Нахождение экстремумов функции
Определим функцию двух переменных
Зададимся целью найти ее экстремум в области x=[–5,5] y=[–5,5]. Оценим по графику положение экстремума.
Заносим в матрицу М значения функции в узловых точках и строим график поверхности:
На заданном интервале функция не превосходит 25. Зададим начальные приближения для поиска экстремума
Записываем блок уравнений или неравенств. Число уравнений и неравенств в блоке given – Find (Minerr) должно быть не меньше числа искомых величин. Если уравнений и неравенств не хватает, то можно просто продублировать одно и то же уравнение или вписать какое–либо тождество, например, 2=2.
Функция Minerr ищет приближенное решение для системы уравнений и неравенств, записанных в блоке. В данном случае мы получили, что системе уравнений наилучшим образом соответствует точка [0,0]. (Поскольку по умолчанию точность вычислений составляет 0.001, мы округлили результат до 0).
Из графика видно, что значение 26 больше самого большого значения функции в окрестности точки [1,1], то есть точное решение найти нельзя и функция Minerr подбирает такое значение аргумента, при котором функция ближе всего к значению 26.
Заметим, что для функции многих переменных вычисляемая точка минимума – вектор. Результат вычисления можно присвоить некоторой переменной (вектору) для дальнейшего использования. Например, его можно подставить в исследуемую функцию для нахождения экстремального значения. Для этого аргументом функции также должен быть вектор. Таким образом, приведенный выше фрагмент (Пример 7) разумнее модифицировать так:
От того, насколько удачно выбрано начальное приближение, зависит точность получаемого решения. Если функция зависит от одной или двух переменных, помощь в этом выборе может оказать график функции. В трехмерном пространстве удобно использовать график линий постоянного уровня. Чтобы на линиях постоянного уровня были значения функции, необходимо дважды щелкнуть кнопку мыши в поле графика и получить меню. В появившемся окне меню открыть вкладку Специальная (Special) и выбрать пункт Нумерация (Numbered). Например:
Вторая возможность – поиск нулей первой производной, то есть стандартный математический подход. Для этого можно использовать блок given – Find. Функция Find ищет точное решение системы уравнений и неравенств, записанных после слова given.
Результаты, полученные различными методами, совпадают, время счета мало в обоих случаях.
В старших версиях Mathcad’а появилась дополнительная возможность поиска экстремумов с помощью функций Minimize и Maximize, которые могут быть использованы как сами по себе, так и совместно с блоком given. Аргументы функций: имя функции, экстремум которой ищется, и список ее аргументов.
Определяем функцию двух переменных и задаем начальные приближения
.
Задаем область поиска максимума внутри блока given
Находим максимум функции в заданной области
В случае функции одной переменной задаем функцию и начальное приближение
Находим максимум:
Если мы хотим найти максимальное или минимальное значение функции на некотором интервале, то необходимо определить этот интервал в блоке given
На приведенном ниже графике видно, что первый из найденных максимумов соответствовал случаю, когда производная обращается в ноль; второй максимум лежит на границе интервала.
Таким образом, функции maximize и minimize способны вычислить, соответственно, максимум и минимум как при наличии ограничений, так и без них. Заметим, что решения в значительной степени зависят от выбранных начальных приближений. Поэтому на практике стоит попробовать различные способы и различные начальные точки.