Рисунок 1- Точки экстремума функции f(x) и ее производной f'(x).
1 ВВЕДЕНИЕ Задачи поиска экстремума функции означают нахождение ее максимума (наибольшего значения) или минимума (наименьшего значения) в некоторой области определения ее аргументов. Общая проблема поиска экстремума функции включает в себя задачи нахождения локального и глобального минимума. Последние называют задачами оптимизации, и алгоритм решения подразумевает локализацию всех минимумов функции f(х) и выбор из них наименьшего. Рисунок 1- Точки экстремума функции f(x) и ее производной f'(x). На рисунке 1а показаны два локальных минимума функции f(x 1 ) и f(x 3 ), из которых левый является глобальным. Обычно, при отыскании локальных экстремумов функции, аргументы не связаны никакими дополнительными условиями, и поэтому такого рода экстремумы называются безусловными. Чтобы найти глобальный максимум (или минимум), требуется сначала просканировать с некоторым шагом рассматриваемую область и определить все локальные значения, а затем выбрать из них наибольший (или наименьший). Ограничения значений аргументов, задающих область определения f(х), как и прочие дополнительные условия, могут быть определены в виде системы неравенств и (или) уравнений. В таком случае говорят о задаче на условный экстремум. При решении задач поиска экстремумов функции, следует опираться на базовые сведения математического анализа, а именно, свойства производных. Так, необходимым условием существования экстремума дифференцируемой на интервале функции является равенство нулю первой ее производной. Например, при выполнении соответствующих условий на непрерывность и гладкость функции точки экстремума f(x) характеризуются тем, что в них первая производная этой функции f'(x) проходит через нулевые значения (x 1, x 2, x 3 ) (рисунок 1б) или тип экстремума (максимум или минимум) определяется знаком второй производной в этой точке.
2 Средства реализации задач поиска экстремумов функции в системе MathCad Для решения задач поиска максимума и минимума чаще всего применяются те же самые итерационные градиентные численные методы, что и для решения нелинейных уравнений. Отличием является критерий, согласно которому строятся итерации. В случае решения нелинейных уравнений осуществляется поиск точки x, максимально близкой к нулю f(x), а в случае задачи поиска экстремумов - точки, увеличивающей (или уменьшающей) значение функции f(x) от шага к шагу, либо приближающей к нулю ее производную f'(x) при условии, что функция дифференцируема. На практике, при поиске экстремумов функции на интервале х [a;b], может находиться несколько локальных экстремумов и есть опасность уйти в зону другого локального экстремума. Тогда ответ получается непредсказуемым, поскольку будет напрямую зависеть от выбранного начального приближения. В таких случаях целесообразно локализовать функцию на заданном интервале с некоторым шагом и вычислить все локальные значения. Следует заметить, что если функция дифференцируема в некоторой окрестности критической точки х k, то достаточным условием существования экстремума является смена знака производной функции. Так, если происходит смена знака с «плюса» на «минус», то в точке х k функция достигает максимума, а с «минуса» на «плюс», то - минимума. Если же вторая производная в этой точке f (x) положительна (или отрицательна), то x k, соответственно, есть точка минимума (или максимума) функции f x. Mathcad позволяет решать задачи поиска экстремумов функции с помощью встроенных функций (кнопка на панели Стандартная), которая открывает диалоговое окно, где в категории функции Решение уравнений. В окне приведены имена встроенных функции, которые можно использовать для поиска экстремумов функции (рисунок 2). Для численного решения задач поиска локального экстремума в Mathcad имеются встроенные функции Minerr(x 1,,х M ). Применение функции Minerr() для задач поиска экстремумов, показывает близость этих задач с задачами решения нелинейных уравнений. Поэтому целесообразным является использование функции root() и Find() для организации поиска экстремумов по заданному алгоритму (с учетом первой производной функции). Причем, принципы и методы вычисления близки к принципу расчетов, заложенных во встроенной функции Minerr().
3 Рисунок 2 - Диалоговое окно Вставка функции
4 ЛАБОРАТОРНАЯ РАБОТА 1 ПОИСК ЭКСТРЕМУМОВ ФУНКЦИИ Цель работы: овладение практическими навыками решения задач поиска экстремумов функции средствами Mathcad. Задача 1. Найти экстремумы функции F=X*sin(2*X-1) на отрезке [-1; 2]. Построить график функции. Алгоритм решения задачи: 1. Для локализации точек экстремумов введите функцию пользователя F(X) и границы отрезка [a;b] с шагом h, определите дискретный аргумент Х и постройте график функции. 2. По графику определите пределы локализации и начальные приближения точек экстремумов. 3. Используя шаблон Производная на панели Математический анализ и кнопку Вычислить аналитически на панели Вычисление, определите первую производную функции F'(X) (обозначение производной F'(X) выполняется клавишами [Ctrl +F7]). 4. Уточните точки экстремумов, используя способы: нахождение точек экстремумов с помощью встроенной функция root() (условием существования экстремума дифференцируемой на интервале функции является F'(X) =0 и задается при помощи палитры Логический); нахождение точек экстремумов с помощью вычислительного блока Given-Find() - (условием существования экстремума дифференцируемой на интервале функции является F'(X) =0 и задается с помощью палитры Логический); нахождение точек экстремумов с помощью вычислительного блока Given-Minerr() (значение F(X)=-0.5 задается из графика, по максимальному значению функции в точке экстремума Х=-0.8); нахождение точек экстремумов с помощью вычислительного блока Given-Find() и функции пользователя Sol(). 5. Постройте график функции с добавлением найденных корней и точек экстремума (вторая ось добавляется с помощью диалогового окна Форматирование выбранного графика X-Y во вкладке Оси X,Y путем установки флажка Включить дополнительную ось Y). 6. Отформатируйте полученный график (рисунок 2). 7. Работу оформить по приведенному ниже листингу.
7 Примечание. Для построения графика использовать окно Форматирование выбранного графика X-Y, которое открывается двойным щелчком по графику. Во вкладке Оси X,Y включите флажки Линии сетки и По центру, а также выключите Автосетка и введите их количества. Во вкладке Трассировка сделать соответствующие выборы и установки по образцу (рисунок 2).
8 Рисунок 2 Окно Форматирование выбранного графика X-Y ЛАБОРАТОРНАЯ РАБОТА 2 Задача 2. Найти экстремумы функции Y=4*cos(3*X-1)+X2-1 на отрезке [-2.5; 2]. Построить график функции. Алгоритм решения задачи: 1. Для локализации всех точек экстремумов введите функцию пользователя Y(X) и постройте график функции на интервале [a;b] с шагом h. 2. По графику определите пределы локализации и начальные приближения точек экстремумов. 3. Уточните точки, в которых функция принимает экстремальные значения, используя следующие способы: - нахождение точек экстремумов с помощью встроенных функции Mininimize() и Maxinimize(); - нахождение точек экстремумов с помощью вычислительного блока Given-Mininimize() и Given-Maxinimize(). 4. Постройте график функции, ее производную с добавлением найденных корней и точек экстремумов. 5. Отформатируйте график по образцу (рисунок 3). 6. Работу оформить по нижеприведенному листингу.
11 Примечание. С целью форматирования графика необходимо в окне Форматирование выбранного графика X-Y, во вкладках Оси X,Y и Трассировка сделать соответствующие выборы и установки по образцу (рисунок 3). Рисунок 3 Окно Форматирование выбранного графика X-Y