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

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

Шрифт:

trying 1st order linear

<- 1st order linear successful

Обратив внимание на вывод в последнем примере. Он дан при уровне вывода n=3

Следующие примеры иллюстрируют возможность решения одного и того же дифференциального уравнения ode_L разными методами:

> restart: ode_L := sin(x)*diff(y(x),x)-cos(x)*y(x)=0;

> dsolve(ode_L, [linear], useInt);

> value(%);

y(x) = _C1 sin(x)

> dsolve(od_L, [separable], useInt);

> value(%);

ln(sin(x)) - ln(у(x)) + _C1 = 0

> mu := intfactor(ode_L);

> dsolve(mu*ode_L, [exact], useInt);

y(x) = -_C1 sin(x)

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

7.2.2. Полет тела, брошенного вверх

Из приведенных выше примеров видно, что для задания производной используется ранее рассмотренная функция diff. С помощью символа $ в ней можно задать производную более высокого порядка.

В соответствии со вторым законом Ньютона многие физические явления, связанные с движением объектов, описываются дифференциальными уравнениями второго порядка. Ниже дан пример задания и решения такого уравнения (файл

dem), описывающего движение тела, брошенного вверх на высоте h0 со скоростью v0 при ускорении свободного падения g:

> restart; eq2:=diff(h(t),t$2) = -g;

> dsolve({eq2,h(0)=h[0], D(h)(0)=v[0]},h(t));assign(s2);

Итак, получено общее уравнение для временной зависимости высоты тела h(t). Разумеется, ее можно конкретизировать, например, для случая, когда g=9,8, h0=10 и v0=100:

> g:=9.8:

> s2:=dsolve({eq2,h(0)=10,D(h)(0)=100},h(t));assign(s2);

> plot(h(t),t=0..20,color=black);

Зависимость высоты тела от времени h(t) представлена на рис. 7.5. Нетрудно заметить, что высота полета тела вначале растет и достигнув максимума начинает снижаться. Оговоримся, что сопротивление воздуха в данном примере не учитывается, что позволяет считать задачу линейной. Полученное с помощью Maple 9.5 для этого случая решение совпадает с полученным вручную в примере, описанном в разделе 7.1.3.

Рис. 7.5. Зависимость высоты полета тела от времени h(t)

7.2.3. Поведение идеального гармонического осциллятора

Еще одним классическим применением дифференциальных уравнений второго порядка является решение уравнение идеального гармонического осциллятора (файл deio):

> restart:eq3:=diff(y(t),t$2)=-omega^2*y(t);

> dsolve(eq3,y(t));

у(t) = _C1 sin(ω) + _C2 cos(ω)

> s:=dsolve({eq3,y(0)=-1,D(y)(0)=1}, y(t));

> assign(s);omega:=2;

ω := 2

> plot(y(t),t=0..20,color=black);

График решения этого уравнения (рис. 7.6) представляет хорошо известную синусоидальную функцию. Интересно, что амплитуда колебаний в общем случае отлична от 1 и зависит от значения у(0) — при у(0)=0 она равна 1 (в нашем случае синусоида начинается со значение у(0)=-1). Подобным осциллятором может быть LC-контур или механический маятник без потерь.

Рис. 7.6. Решение дифференциального уравнения идеального осциллятора

7.2.4. Дополнительные примеры решения дифференциальных уравнений второго порядка

Ниже представлено решение еще двух дифференциальных уравнений второго порядка в аналитическом виде (de2a):

> restart: dsolve(diff(y(x),x$2)-diff(y(x),x)=sin(x),y(x));

у(x) = -½sin(x) + ½cos(x) + ex _C1 + _C2
  • Читать дальше
  • 1
  • ...
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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