Вход/Регистрация
Maple 9.5/10 в математике, физике и образовании
вернуться

Дьяконов Владимир Павлович

Шрифт:

> 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'. При отсутствии ограничений в виде равенств или неравенств вместо них записывается пустой список {}.

Эта функция в предшествующих версиях Maple находилась в стандартной библиотеке и вызывалась командой readlib(extrema). Но начиная с Maple 7 ее можно использовать без предварительного объявления. В этом убеждают приведенные ниже примеры (файл extrema):

> restart:

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

z:= (х,у)→ах² + bxy + су² + d(х - y)

> extrema(z(х,y),{},{х,y},'s');

> s;

> extrema(а*х^2+b*х+с,{},x,'s');s;

> extrema(х*ехр(-х),{}, х, 's'); s;

{e(-1)}
{{x = 1}}

> extrema(sin(x)^2,{},x,'s');s;

{0,1}
{{x=0}, {х=½π}}

> extrema(х+у/z,х^2+у^2+z^2=1,{x,y,z},'s');s;

{max(1 - RootOf(_Z4 + 1)2, - 1 + RootOf(_Z4 + 1)2),
min(1 - RootOf(_Z4 + 1)2, -1 + RootOf(_Z4 + 1)2)}
{{z = RootOf(_ Z4 + 1), x = -1, у = RootOf(_Z4 + 1)3},
{x = 1, z = RootOf(_ Z4 + 1), у = - RootOf(_ Z4 + 1)3}}

> evalf(%);

{{x = -1., у = -0.7071067812+0.7071067812 I, z = 0.7071067812+0.7071067812 I},
{z = 0.7071067812+0.7071067812 I, x = 1., у = 0.7071067812-0.7071067812 I}}

Как видно из приведенных примеров, функция extrema возвращает как значения экстремумов, так и значения аргументов, при которых экстремумы наблюдаются. Обратите внимание, что в первом примере результат вычисления экстремума функции z(x,y) оказался тем же, что и в предшествующем разделе. Это говорит в пользу применения функции extrema.

Для проверки оптимизационных алгоритмов существует ряд тестовых функций. Одна из таких функций — функция двух переменных Розенброка. В представленном ниже примере она задана как rf(x,y):

> rf:= (x,у)->100*(у-х^2)^2+(1-х)^2;

rf:=(x,.y)→100(y-x²)²+(1-x)²

> extrema(rf(х,у),{х,у},'s');s;

{{y = -RootOf f(_ Z4 + 1)3, х = 1, z = RootOf(_Z4 + 1)}, {x = -1, у = RootOf(_Z4 + 1)3, z = RootOf(_Z4 + 1)}}
  • Читать дальше
  • 1
  • ...
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: