(иногда и solve, но она дает вывод в более сложной форме). Приведем пару примеров (файл extrem):

> у:=expand((х-3)*(х-1)*х*(х+2));

y := х4 - 2х3 - 5х2 + 6х

> dy:=simplify(diff(y,х));

dy := 4х³ - 6х² - 10х + 6

> plot({y,dy},х=-3..3,-10..10,color=black,thickness=[2,1]);

> extrem:=fsolve(dy=0,х);

extrem := -1.302775638, 0.5000000000, 2.302775638

В этом примере создан полином y с корнями 3, 1, 0 и -2 и найдена его производная dy. На рис. 5.1 построены графики функции и ее производной (жирная кривая). Из него видно, что полином p имеет экстремумы в точках, лежащих в промежутках между корневыми точками. Их значения и найдены как значения переменной extrem, для которых вторая производная равна 0. Рекомендуется проверить вид вывода, если fsolve заметить на solve.

Рис. 5.1. График функциональной зависимости — полинома и ее производной

Возьмем еще один пример для поиска экстремумов выражения sin(x)/x. Это выражение имеет бесконечное число экстремумов слева и справа от х=0 (в этой точке расположен главный максимум со значением 1). Ограничимся поиском трех экстремумов в интервале изменения x от 3 до 12:

> f:=sin(х)/x:df:=diff(f,x);

> plot({ f, df},x=0..12,color=black,thickness=[2,1]):

> [fsolve(df,x=3..6),fsolve(df,x=7..9),fsolve(df,x=9..12)];

[4.493409458, 7.725251837, 10.90412166]

Тут уже приходится искать каждый экстремум поодиночке, задавая поиск в соответствующем интервале изменения х. Для просмотра графика функциональной зависимости и ее производной достаточно в конце второй строки ввода заменить знак «:» на «;».

5.1.3. Поиск экстремумов в аналитическом виде

Функция solve нередко позволяет найти экстремумы в аналитическом виде как нули первой производной. Приведем примеры этого (файл extrem):

> restart:y:=ехр(-а*х)-exp(-b*x);dy:=diff(y,х);

у = e(-ax) - е(-bx) dy := -ae(-ax) + bе(-bх)

> solve(dy,x);

> restart:y:=а*х*ехр(-b*x);dy:=diff(y,х);

y := axe(-bx) dy := ae(-bx) - axbe(-bx)

> solve(dy,x);

Этот метод иногда можно распространить на случай ряда переменных. Ниже представлен такой пример для функции двух переменных:

> restart:

> z:=(х,y)-> а*х^2 + b*х*y + с*y^2 + d*(х-y);

z := (х,у)→aх² + bху + су² + d(x-y)

> xy:=solve({diff(z(x,y),x) = 0, diff(z(x,y),y) = 0},{х,y});

> z(rhs(xy[2]),rhs(xy[1]));

> simplify(%);

Разумеется, подобное решение возможно далеко не всегда, хотя и частные решения данной задачи представляют значительный практический интерес.

5.1.4. Поиск максимума амплитудно-частотной характеристики

Одной из практически важных задач может служить нахождение пика амплитудно-частотной характеристики слабо демпфированной системы с массой m и частотой собственных колебаний ω0. Эту характеристику можно представить следующим известным выражением (файл afc):

> restart;

> A:=A0/sqrt(m^2* (omega0^2-omega^2)^2+gamma^2*omega^2);

Найдя ее производную и, вычислив корни последней, получим:

> dA:=diff(A,omega);

> ss:=solve(dA=0,omega);

Из этих трех частот только одна физически реальна — средняя. Остальные могут быть отброшены. А теперь приведем пример с конкретными числовыми данными:

> AA:=subs(А0=5,omega0=10,m=1, gamma=1, А);

> AAprime :=diff(АА, omega);

> ss1:=solve(AAprime=0,omega);

> evalf(ss1);

0., 9.974968670 , -9.974968670

Нетрудно подметить, что частота пика амплитудно-частотной характеристики чуть меньше частоты собственных колебаний системы.

5.1.5. Поиск экстремумов с помощью функции extrema

Ряд функций служит специально для вычисления экстремумов, максимумов и минимумов функций, а также для определения их непрерывности. Одна из таких функций extrema позволяет найти экстремумы выражения expr (как максимумы, так и минимумы) при ограничениях constrs и переменных vars, по которым ищется экстремум:

extrema(expr, constrs)

extrema(expr, constrs, vars)

extrema(expr, constrs, vars, 's')

Ограничения contrs и переменные vars могут задаваться одиночными объектами или списками ряда ограничений и переменных. Найденные координаты точки экстремума присваиваются переменной 's'. При

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату