Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Самоучитель по Maple.docx
Скачиваний:
258
Добавлен:
08.03.2016
Размер:
17.32 Mб
Скачать

9. Основные функции пакета dEtools

Основные функции пакета DEtools

Ввиду обилия функций пакета DEtools дать их полное описание в данной книге не представляется возможным. Поэтому выборочно рассмотрим наиболее важные функции этого пакета. Функция:

autonomous(des.vars,ivar)

тестирует дифференциальное уравнение (или систему) des. Ее параметрами помимо des являются независимая переменная ivar и зависимая переменная dvar. Следующие примеры поясняют применение этой функции:

> automou(sin(z(t)-z(t)^2)*(D@@4)(z)(t)-cos(z(t))-5,z.t);

true

> DE:=diff(x(s),s)-x(s)*cos(arctan(x(s)))=arctan(s):

> autonomous(DE.{x},s);

false

Функция Dchangevar используется для обеспечения замен (подстановок) в дифференциальных уравнениях:

Dchangevar(trans,deqns, c_tvar, rMvar)

Dchangevar(tranl, tran2, .... tranN, deqns, c_ivar, n_ivar)

В первом случае trans — список или множество уравнений, которые подставляются в дифференциальное уравнение, список или множество дифференциальных уравнений deqns. При этом c_ivar — имя текущей переменной, n_ivar — имя новой переменной (его задавать необязательно). Во второй форме для подстановки используются уравнения tranl, tran2, .... Ниже представлены примеры применения функции Dchangevar:

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

Функция нормализации ОДУ DEnormal синтаксически записывается в виде:

DEnormal(des,ivar,dvar)

где des — система дифференциальных уравнений, 1var — независимая переменная и dvar — зависимая переменная. Применение этой функции поясняют следующие примеры:

Функция convertAlg(des,dvar) возвращает список коэффициентов формы системы дифференциальных уравнений des с зависимыми переменными dvar. Это поясняют следующие примеры:

Для изменения переменных в системах дифференциальных уравнений используется функция convertsys:

convertsys(deqns, inits, vars, ivar, yvec, ypvec)

Здесь deqns — одно дифференциальное уравнение или список (множество), представляющие систему дифференциальных уравнений первого порядка, inits — множество или список начальных условий, vans — зависимые переменные, ivar — независимые переменные, yvec — вектор решений и ypvec — вектор производных. Функция:

indicialeq(des.ivar,alpha.dvar)

обеспечивает полиномиальное представление для линейного однородного дифференциального уравнения второго порядка des. Параметр alpha намечает точку сингулярности.

Функция:

reduceOrder(des.dvar,partsol, solutionForm)

обеспечивает понижение порядка дифференциального уравнения des (или системы уравнений, представленных списком или множеством) при зависимых переменных dvar, частном решении partsol (или списке частных решений) и флаге solutionForm, показывающем, что решение происходит явным методом (explicitly). Для демонстрации действия этой функции воспользуемся примером из ее справочной страницы:

Функция:

regularsp(des,ivar,dvar)

вычисляет регулярные особые (сингулярные) точки для дифференциального уравнения второго порядка или системы дифференциальных уравнений des. Следующий пример поясняет применение данной функции:

> coefs := [21*(х^2 - х + 1),0,100*х^2*(х-1)^2]:

> regularsp(coefs. х);

[0,1]

Еще две функции пакета DEtools:

translate(des,ivar.pt,dvar)

untranslate(des,ivar,pt,dvar)

выполняют особую операцию трансляции дифференциального уравнения (или списка дифференциальных уравнений) из центрированного относительно 0 в центрированное относительно 1 и наоборот. С деталями этого специфического процесса заинтересованный читатель может познакомиться в справочной базе данных. И еще одна полезная функция пакета:

varparam(sols.v.ivar)

находит общее решение дифференциального уравнения (или системы уравнений) sols методом вариации параметров. Параметр v задает правую часть уравнения; если он равен 0, ищется только частичное решение:

Более подробную информацию об этих функциях читатель найдет в их справочных страницах, а также в информационном документе detdols.mws содержащем систематизированное описание пакета DEtools с многочисленными примерами его применения.

14.gif

16.gif

17.gif

18.gif

19.gif

20.gif

10. Графическое представление решений дифференциальных уравнений

Графическое представление решений дифференциальных уравнений

Применение функции odeplot пакета plots

Для обычного графического представления результатов решения дифференциальных уравнений может использоваться функция odeplot из описанного выше пакета plots. Эта функция используется в следующем виде:

odep1ot(s,vars.r,o)

где s — запись (в выходной фирме) дифференциального уравнения или системы дифференциальных уравнений, решаемых численно функцией dsolve, vars — переменные, г — параметр, задающий пределы решения (например, а. .Ь), и о — необязательные дополнительные опции.

На рис. 13.5 представлен пример решения одиночного дифференциального уравнения с выводом решения у(х) с помощью функции odeplot.

В этом примере решается дифференциальное уравнение:

y'(x)=cos(x2y(x))

при у(0) = 2 и x, меняющемся от-5 до 5. Левая часть уравнения записана с помощью функции вычисления производной diff. Результатом построения является график решения у(х).

В другом примере (рис. 13.6) представлено решение системы из двух нелинейных дифференциальных уравнений. Здесь с помощью функции odeplot строятся графики двух функций. —у(х) и z(x).

В этом примере решается система:

у'(х)=z(х),

z'(x) = 3 sin(y(x))

при начальных условиях y(0)=0, z(0) = 1 их, меняющемся от -4 до 4 при числе точек решения, равном 25.

Иногда решение системы из двух дифференциальных уравнений (или одного дифференциального уравнения второго порядка) представляется в виде фазового портрета — при этом по осям графика откладываются значения у(х) и z(х) при изменении х в определенных пределах. Рисунок 13.7 демонстрирует построение фазового портрета для системы, представленной выше.

Обычное решение, как правило, более наглядно, чем фазовый портрет решения. Однако для специалистов (например, в теории колебаний) фазовый портрет порою дает больше информации, чем обычное решение. Он более трудоемок; для построения, поэтому возможность Марle 7 быстро строить фазовые портреты трудно переоценить.

Рис. 13.5.Пример решения одиночного дифференциального уравнения

Рис. 13.6.Пример решения системы из двух дифференциальных уравнений

Рис. 13.7.Представление решения системы дифференциальных уравнений в виде фазового портрета

28.gif

29.gif

30.gif