Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 95
Текст из файла (страница 95)
13.5)lX(t):=2e~ .cos(6t)X(t)-2хРис. 13.5. График функции, описывающей затухающие колебанияФункции, подобные этой, в теоретической механике применяются для описания затухающих колебаний. Поэтому график отображен только начиная с 0, поскольку времяне может быть отрицательной величиной.Экстремумов, равно как и корней, данная функция имеет бесконечное множество. Посмотрим, какой результат дадут функции Maximize и Minimize при различных приближениях:t:=0Maximize(X,t) = -0.028Minimize(X,t) = 0.496Отрицательная координата максимума была получена потому, что, чисто с математической точки зрения, данная функция существует и в отрицательной области, причемтам она совершает колебания с увеличивающейся амплитудой по направлению к бесконечности.t := 10Maximize(X,t) = 2.067Minimize(X,t) = 2.59Интересно, что существуют локальные экстремумы, которые расположены ближе к 10,чем полученные с помощью функций Maximize и Minimize.
To, что они не были обнаружены, связано, скорее всего, с их малой амплитудой.t := 10000Maximize(X,t) = 1 x 1 0Minimize(X,t) = 1 x 1 013.3. Численное определение экстремумов функций * 4 2 3На этот раз действительно получился странный результат: если верить Mathcad, данная функция имеет в одной точке одновременно и минимум, и максимум! Естественно, реально такого быть никогда не может. Попробуем объяснить причину допущенной ошибки.Как вы помните, главным условием существования в точке экстремума является условие равенства производной нулю. Рассматриваемая функция является убывающей, и при значении переменной 10 000 с точностью, значительно превышающей границу нуля в Mathcad, равняется нулю.
Производная же по величине в данном случаедолжна быть близка к функции. Таким образом, получается, что для всех точек, начиная с некоторого значения tn, будет выполняться условие экстремума. Тип же экстремума определяется обычно по знаку второй производной, которая в данной ситуациитакже должна бесконечно близко приближаться по значению к нулю. Из-за этого возникает неопределенность, и обе функции относят данную точку к экстремуму своеготипа.И, наконец, если мы попробуем ввести большое по модулю приближение из отрицательной области, то никаких значений экстремумов найдено не будет.
Причина же этого довольно очевидна: при таких значениях t функция принимает слишком большиепо модулю значения.Делая вывод, можно сказать, что правильный выбор начальной точки играет принципиальную роль при поиске экстремумов. А осложнить выполнение этой работы могутте же особенности поведения исследуемой функции, что и при решении уравнений:множественность экстремумов, разрывы, особенности поведения функции на бесконечности. Поэтому к полученному результату нужно относиться очень внимательнои стараться всегда проверять его верность с помощью графика. Благо, в случае функции одной переменной это можно сделать очень легко.Второй возможной формой употребления функций Minimize и Maximize является записьих в составе вычислительного блока, подобно функции find. При такой форме синтаксиса появляются некоторые дополнительные возможности.
Например, записав нижеключевого слова Given систему неравенств, вы сможете произвести поиск экстремумовна определенном интервале изменения переменной. Также здесь вы сможете ввестинекоторые ограничения на значения минимума или максимума.Пример 13.5. Рассмотрим функцию (рис. 13.6)f(x) : = - хf(x)-2Рис. 13.6. График исследуемой функции+ 4х- Зх4 2 4 • Глава 13. Исследование функций и оптимизацияПри использовании стандартной записи функции Maximize при начальном приближении х=3 система выдает значения максимума, более близкого к этой точке:f(x) := -х + 4х - Зхх:=3Maximized, х) = 1.077Но при использовании записи с вычислительным блоком при этом же приближениимы сможем получить значение и из отрицательной области.
Для этого требуется лишьввести ограничения на положительные величины точки максимума под ключевым словом Given:х:=3f(x) := -х + 4х - ЗхGivenх<0Maximize(f,x) = -0.51Впрочем, если взять начальное приближение, равное, например, 10, то никаких экстремумов не будет найдено вообще. Связано это, прежде всего, с очень высокой скоростью возрастания функции (то есть производная принимает слишком большие для эффективной работы численного алгоритма значения).Равно как и при стандартной записи, функции экстремумов с вычислительным блокомкрайне чувствительны к величинам начальных приближений.
Так, попробуем найтимаксимумы рассматриваемой функции, выделив интервал их локализации:х:=0x:=lf(x):=-x 7 + 4 x 3 - 3 x73f(x):=-x + 4x -3-xGiven-3<х<3Given-3<x<3Maximized, x) =-0.51Maximize(f,x) = - 3При начальном приближении х-0 один из локальных максимумов был найден верно.Но при попытке определить экстремум из положительной области (х—1.077) был выдан довольно неожиданный результат (х--3), хотя точка приближения была выбранапредельно близко к нему. Фактической ошибки, конечно, при этом допущено не было,так как на левой границе выбранного интервала функция действительно принимаетсвое наибольшее значение. Но как же в такой ситуации определить именно локальныймаксимум? Испробовав десяток начальных приближений, приходим к выводу, что приданных условиях найти правый экстремум весьма проблематично, хотя при стандартной записи без каких-либо дополнительных условий функция Maximize при использовании той же начальной точки находила его очень легко.Таким образом, делая вывод, можно утверждать, что, если на интервале расположенонесколько локальных экстремумов, лучше не рисковать и использовать стандартную13.3.
Численное определение экстремумов функций* 425запись функций Maximize и Minimize. Если же экстремум только один, то использование вычислительного блока — очень эффективный и простой способ определения максимума или минимума. Но в любом случае проверка результата обязательна.Грубой ошибкой функций Maximize и Minimize является и то, что в качестве экстремумов они выдают абсциссы всех точек, в которых первая и вторая производные имеютнулевые значения, однако, как вы помните, для ряда функций такие точки могут бытьи не экстремальными.Пример 13.6.
Рассмотрим функцию (рис. 13.7)3f(x):=x -l-2Рис. 13.7. График рассматриваемой функцииФункция эта возрастает на всем промежутке своего определения и никаких экстремумов не имеет. Но в точке х=0 ее первая производная (Зх 2 ) и вторая производная (6х)равны 0. А это означает, что алгоритм Mathcad мало того, что определит ее в качестветочки экстремума, так и к тому же отнесет ее одновременно и к минимуму, и к максимуму:х:=0f(x):=x3-lMaximize(f,x) = 0Minimize(f, x) = 013.3.2.
Экстремум функции нескольких переменныхРазличие между поиском экстремума функции одной переменной и функции нескольких переменных приблизительно такое же, как между решением уравнения с однимнеизвестным и системы уравнений. То есть если максимум или минимум функции, зависящей от одной переменной, можно определить, найдя нули ее производной, то длятого чтобы узнать координаты точки экстремума функции нескольких переменных,придется решить систему уравнений (необходимым условием существования в даннойточке экстремума функции нескольких переменных является равенство всех ее частных производных 0).Функции Maximize и Minimize могут быть использованы и для нахождения экстремумовфункций нескольких переменных.426 •Глава 13.
Исследование функций и оптимизацияПример 13.7. Найти экстремумы функции двух переменных (рис. 13.8)Рис. 13.8. График исследуемой функции двух переменныхФункция эта симметрична относительно своих переменных, то есть ее частные производные равны при любых значениях переменных. Из графиков следует, что она имеетлокальный минимум и локальный максимум. Найти их можно очень просто и без по2мощи компьютера: частные производные равны Зг -5 (г=х, у), откуда локальные экстремумы должны иметь координаты (1.291,1.291) или (-1.291, -1.291).
Попробуем теперь их найти с помощью функций Maximize и Minimize.х:=1Maximize(f,x,y) =у:=1( -1.29 Л\-\29\)Minimize(f,x,y) =•f 1.29 ЛРезультат полностью соответствует расчетам, сделанным нами ранее.Аналогично функциям одного переменного, Maximize и Minimize могут быть встроены в вычислительный блок. При этом можно вводить целый ряд дополнительных условий, чтоможет быть весьма удобно для определения нужного значения экстремума.
Однако, задав какие-то дополнительные условия, нужно быть очень внимательным к результату.Пример 13.8. Рассмотрим функцию (рис. 13.9)f(x,y) :=sin(x) + sin(y)Функция эта имеет бесконечное множество минимумов и максимумов. Попробуем, однако, найти минимум из того условия, что х+у=0:f(x,y) :=sin(x) + sin(y)х:=1у:=1Givenх+ у = 0Minimize(f,x,y) =0.1-0.113.4.
Линейное программирование (решение задач оптимизации)f* 427fРис. 13.9. Поверхность и контурный график функции f(x,y)=sin(x)+sin(y)Итак, в качестве точки локального минимума была определена точка М=(0,1, -0,1).Однако обе частные производные в этой точке равны косинусу соответствующей переменной и принимают значение 0.995, то есть не выполняется необходимое условиелокального экстремума. Поэтому, естественно, в данной точке никакого минимума нет ибыть не может. Так что в этом случае Minimize допустила ошибку, причем весьма грубую.Анализируя результаты проделанной работы, можно сделать вывод: следует старатьсяне усложнять решаемую с помощью Mathcad проблему. Так, введение дополнительного условия в рассмотренном выше примере, привело к получению довольно грубойи глупой ошибки. В то же время совсем не сложно доказать, что вычислить экстремум,удовлетворяющий условию х+у=0,,нельзя (подумайте, почему?).Впрочем, если записать более согласованную систему, то функции экстремумов придут все-таки к правильным выводам.Пример 13.9.