(иногда и solve, но она дает вывод в более сложной форме). Приведем пару примеров (файл extrem):
> у:=expand((х-3)*(х-1)*х*(х+2));
> dy:=simplify(diff(y,х));
> plot({y,dy},х=-3..3,-10..10,color=black,thickness=[2,1]);
> extrem:=fsolve(dy=0,х);
В этом примере создан полином y с корнями 3, 1, 0 и -2 и найдена его производная

Рис. 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)];
Тут уже приходится искать каждый экстремум поодиночке, задавая поиск в соответствующем интервале изменения
5.1.3. Поиск экстремумов в аналитическом виде
Функция solve нередко позволяет найти экстремумы в аналитическом виде как нули первой производной. Приведем примеры этого (файл extrem):
> restart:y:=ехр(-а*х)-exp(-b*x);dy:=diff(y,х);
> solve(dy,x);

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

Этот метод иногда можно распространить на случай ряда переменных. Ниже представлен такой пример для функции двух переменных:
> restart:
> z:=(х,y)-> а*х^2 + b*х*y + с*y^2 + d*(х-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);
Нетрудно подметить, что частота пика амплитудно-частотной характеристики чуть меньше частоты собственных колебаний системы.
5.1.5. Поиск экстремумов с помощью функции extrema
Ряд функций служит специально для вычисления
extrema(expr, constrs)
extrema(expr, constrs, vars)
extrema(expr, constrs, vars, 's')
Ограничения contrs и переменные vars могут задаваться одиночными объектами или списками ряда ограничений и переменных. Найденные координаты точки экстремума присваиваются переменной 's'. При