Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Общее решение дифференциальных уравнений.

Для нахождения аналитических решений дифференциальных уравнений в Maple применяется команда dsolve(eq,var,options), где eq – дифференциальное уравнение, var – неизвестные функции, options – параметры. Параметры могут указывать метод решения задачи, например, по умолчанию ищется аналитическое решение: type=exact . При составлении дифференциальных уравнений для обозначения производной применяется команда diff , например, дифференциальное уравнение y» + y = x записывается в виде: diff(y(x),x$2)+y(x)=x.

Общее решение дифференциального уравнения зависит от произвольных постоянных, число которых равно порядку дифференциального уравнения. В Maple такие постоянные, как правило, обозначаются как _ С1 , _ С2 , и т.д.

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

Команда dsolve выдает решение дифференциального уравнения в невычисляемом формате. Для того, чтобы с решением можно было бы работать далее (например, построить график решения) следует отделить правую часть полученного решения командой rhs(%) .

Видео:Решение системы линейных уравнений в MapleСкачать

Решение системы линейных уравнений в Maple

Задание 1.1.

1. Найти общее решение дифференциального уравнения y ‘+ y cos x =sin x cos x .

de : = Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры1

Итак, решение искомого уравнения есть функция Решение дифференциальных уравнений в maple примеры1 .

Замечание : при записи решения диффреренциального уравнения в Maple в строке вывода произвольная постоянная обозначена как _ С1 .

2. Найти общее решение дифференциального уравнения второго порядка y » — 2 y ‘+ y =sin x + e — x .

deq :=Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Замечание : так как исходное уравнение было второго порядка, то полученное решение содержит две произвольные константы, которые в Maple обычно обознаются как _ С1 и _ С2 . Первые два слагаемых представляют собой общее решение соответствующего однородного дифференциального уравнения, а вторые два – частное решение неоднородного дифференциального уравнения.

3. Найти общее решение дифференциального уравнения порядка y »+ k 2 y =sin( qx ) в двух случаях: q ¹ k и q = k (резонанс).

de :=Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Теперь найдем решение в случае резонанса. Для этого перед вызовом команды dsolve следует приравнять q = k .

Решение дифференциальных уравнений в maple примеры

Замечание : в обоих случаях частное решение неоднородного уравнения и общее решение, содержащее произвольные постоянные, выводятся отдельными слагаемыми.

Фундаментальная (базисная) система решений.

Команда dsolve представляет возможность найти фундаментальную систему решений (базисные функции) дифференциального уравнения. Для этого в параметрах команды dsolve следует указать output=basis .

Видео:18+ Математика без Ху!ни. Дифференциальные уравнения.Скачать

18+ Математика без Ху!ни. Дифференциальные уравнения.

Задание 1.2.

Найти фундаментальную систему решений дифференциального уравнения: y (4) +2 y »+ y =0.

de : = Решение дифференциальных уравнений в maple примеры

> dsolve(de, y(x), output=basis);

Решение дифференциальных уравнений в maple примеры

Решение задачи Коши или краевой задачи.

Команда dsolve может найти решение задачи Коши или краевой задачи, если помимо дифференциального уравнения задать начальные или краевые условия для неизвестной функции. Для обозначения производных в начальных или краевых условиях используется дифференциальный оператор Решение дифференциальных уравнений в maple примеры, например, условие y»(0)=2 следует записать в виде Решение дифференциальных уравнений в maple примеры, или условие y ‘(1)=0: Решение дифференциальных уравнений в maple примеры. Напомним, что производная n -го порядка записывается в виде Решение дифференциальных уравнений в maple примеры.

Видео:решение дифференциальных уравнений в программе Maple 18Скачать

решение дифференциальных  уравнений в программе Maple 18

Задание 1.3.

1. Найти решение задачи Коши: y (4) + y »=2cos x , y (0)= — 2, y ‘(0)=1, y »(0)=0, y »'(0)=0.

Решение дифференциальных уравнений в maple примеры

cond:= y(0)= — 2, D(y)(0)=1, (D (2) )(y)(0)=0, (D (3) )(y)(0)=0

y( x )= — 2cos( x ) — x sin( x )+ х

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

de : = Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примерыРешение дифференциальных уравнений в maple примеры

y( x )=2 x — p + p cos( x )

Замечание : для построения графика решения предварительно следует отделить правую часть полученного выражения.

Решение дифференциальных уравнений в maple примеры

Системы дифференциальных уравнений.

Команда dsolve может найти решение системы дифференциальных уравнений (или задачи Коши), если в ней указать: dsolve(,), где sys — система дифференциальных уравнений, x(t),y(t),… — набор неизвестных функций.

Видео:Вычисления, константы и решение уравнений в MapleСкачать

Вычисления, константы и решение уравнений в Maple

Задание 1.4.

Найти решение системы дифференциальных уравнений:

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Найдены две функции x ( t ) и y ( t ), которые зависят от двух произвольных постоянных _ С1 и _ С2 .

Приближенное решение дифференциальных уравнений с помощью степенных рядов.

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

Чтобы найти приближенное решение дифференциального уравнения в виде степенного ряда, в команде dsolve следует после переменных указать параметр type=series (или просто series ). Для того, чтобы указать порядок разложения n , т.е. порядок степени, до которой производить разложение, следует перед командой dsolve вставить определение порядка с помощью команды Order:=n .

Если ищется общее решение дифференциального уравнения в виде разложения в степенной ряд, то коэффициенты при степенях х найденного разложения будут содержать неизвестные значения функции в нуле y(0) и ее производных D(y)(0), (D@@2)(y)(0) и т.д. Полученное в строке вывода выражение будет иметь вид, похожий на разложение искомого решения в ряд Маклорена, но с другими коэффициентами при степенях х . Для выделения частного решения следует задать начальные условия y(0)=у1, D(y)(0)=у2, (D@@2)(y)(0)=у3 и т.д., причем количество этих начальных условий должно совпадать с порядком соответствующего дифференциального уравнения.

Разложение в степенной ряд имеет тип series , поэтому для дальнейшей работы с этим рядом его следует преобразовать в полином с помощью команды convert(%,polynom) , а затем выделить правую часть полученного выражения командой rhs(%) .

Видео:РЕШЕНИЕ ВОЛНОВОГО ДУ ОПЕРАЦИОННЫМ МЕТОДОМ В СРЕДЕ MAPLESOFT MAPLE 2017Скачать

РЕШЕНИЕ ВОЛНОВОГО ДУ ОПЕРАЦИОННЫМ МЕТОДОМ В СРЕДЕ MAPLESOFT MAPLE 2017

Задание 1.5.

1. Найти решение задачи Коши: Решение дифференциальных уравнений в maple примеры, Решение дифференциальных уравнений в maple примерыв виде степенного ряда с точностью до 5-го порядка.

y(0)=0>, y(x), type=series);

Решение дифференциальных уравнений в maple примеры

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

2. Найти общее решение дифференциального уравнения y »( х ) — y 3 ( х )= е — х cos x , в виде разложения в степенной ряд до 4-го порядка. Найти разложение при начальных условиях: y (0)=1, y ‘(0)=0.

> restart; Order:=4: de:=diff(y(x),x$2)-

Решение дифференциальных уравнений в maple примеры

Замечание : в полученном разложении запись D(y)(0) обозначает производную в нуле: y ‘(0). Для нахождения частого решения осталось задать начальные условия:

Решение дифференциальных уравнений в maple примеры

3. Найти приближенное решение в виде степенного ряда до 6-го порядка и точное решение задачи Коши: Решение дифференциальных уравнений в maple примеры, Решение дифференциальных уравнений в maple примеры, Решение дифференциальных уравнений в maple примеры, Решение дифференциальных уравнений в maple примеры. Построить на одном рисунке графики точного и приближенного решений.

de : = Решение дифференциальных уравнений в maple примеры

cond :=y(0)=1, D(y)(0)=1, D (2) (y)(0)=1

y( x )=Решение дифференциальных уравнений в maple примеры

y( x )=Решение дифференциальных уравнений в maple примеры

Замечание : тип решения дифференциального уравнения в виде ряда есть series , поэтому для дальнейшего использования такого решения (вычислений или построения графика) его обязательно следует конвертировать в полином с помощью команды convert

Решение дифференциальных уравнений в maple примеры

На этом рисунке видно, что наилучшее приближение точного решения степенным рядом достигается примерно на интервале — 1 x

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

Видео:13. Как решить дифференциальное уравнение первого порядка?Скачать

13. Как решить дифференциальное уравнение первого порядка?

Решение дифференциальных уравнений в maple примеры

Для нахождения аналитических решений дифференциальных уравнений в Maple применяется команда dsolve(eq,var,options), где eq – дифференциальное уравнение, var – неизвестные функции, options – параметры. Параметры могут указывать метод решения задачи, например, по умолчанию ищется аналитическое решение: type=exact. При составлении дифференциальных уравнений для обозначения производной применяется команда diff, например, дифференциальное уравнение y»+y=x записывается в виде: diff(y(x),x$2)+y(x)=x.

Общее решение дифференциального уравнения зависит от произвольных постоянных, число которых равно порядку дифференциального уравнения. В Maple такие постоянные, как правило, обозначаются как _С1, _С2, и т.д.

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

Команда dsolve выдает решение дифференциального уравнения в невычисляемом формате. Для того, чтобы с решением можно было бы работать далее (например, построить график решения) следует отделить правую часть полученного решения командой rhs(%).

1. Найти общее решение дифференциального уравнения y’+ycosx=sinxcosx.

Решение дифференциальных уравнений в maple примеры

Итак, решение искомого уравнения есть функция

Замечание: при записи решения диффреренциального уравнения в Maple в строке вывода произвольная постоянная обозначена как _С1.

Найти общее решение дифференциального уравнения второго порядка y» — 2y’+y=sinx+e — x.

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Замечание: так как исходное уравнение было второго порядка, то полученное решение содержит две произвольные константы, которые в Maple обычно обознаются как _С1 и _С2. Первые два слагаемых представляют собой общее решение соответствующего однородного дифференциального уравнения, а вторые два – частное решение неоднородного дифференциального уравнения.

3. Найти общее решение дифференциального уравнения порядка y»+k2y=sin(qx) в двух случаях: q ¹ k и q=k (резонанс).

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Теперь найдем решение в случае резонанса. Для этого перед вызовом команды dsolve следует приравнять q=k.

Решение дифференциальных уравнений в maple примеры

Фундаментальная (базисная) система решений.

Команда dsolveпредставляет возможность найти фундаментальную систему решений (базисные функции) дифференциального уравнения. Для этого в параметрах команды dsolve следует указать output=basis.

Найти фундаментальную систему решений дифференциального уравнения: y(4)+2y»+y=0.

Решение дифференциальных уравнений в maple примеры

>dsolve(de, y(x), output=basis);

Решение дифференциальных уравнений в maple примеры

Решение задачи Коши или краевой задачи.

Команда dsolve может найти решение задачи Коши или краевой задачи, если помимо дифференциального уравнения задать начальные или краевые условия для неизвестной функции. Для обозначения производных в начальных или краевых условиях используется дифференциальный оператор , например, условие y»(0)=2 следует записать в виде

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

1. Найти решение задачи Коши: y(4)+y»=2cosx, y(0)= — 2, y'(0)=1, y»(0)=0, y»'(0)=0.

Решение дифференциальных уравнений в maple примеры

y(x)= — 2cos(x) — xsin(x)+ х

2. Найти решение краевой задачи:кккк

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

y(x)=2x — p + p cos(x)

Замечание: для построения графика решения предварительно следует отделить правую часть полученного выражения.

Решение дифференциальных уравнений в maple примеры

Системы дифференциальных уравнений.

Команда dsolve может найти решение системы дифференциальных уравнений (или задачи Коши), если в ней указать: dsolve(,), где sys — система дифференциальных уравнений, x(t),y(t),… — набор неизвестных функций.

Найти решение системы дифференциальных уравнений:

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Найдены две функции x(t) и y(t), которые зависят от двух произвольных постоянных _С1 и _С2.

Приближенное решение дифференциальных уравнений с помощью степенных рядов.

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

Чтобы найти приближенное решение дифференциального уравнения в виде степенного ряда, в команде dsolve следует после переменных указать параметр type=series (или просто series). Для того, чтобы указать порядок разложения n, т.е. порядок степени, до которой производить разложение, следует перед командой dsolve вставить определение порядка с помощью команды Order:=n.

Если ищется общее решение дифференциального уравнения в виде разложения в степенной ряд, то коэффициенты при степенях х найденного разложения будут содержать неизвестные значения функции в нуле y(0) и ее производных D(y)(0), (D@@2)(y)(0) и т.д. Полученное в строке вывода выражение будет иметь вид, похожий на разложение искомого решения в ряд Маклорена, но с другими коэффициентами при степенях х. Для выделения частного решения следует задать начальные условия y(0)=у1, D(y)(0)=у2, (D@@2)(y)(0)=у3 и т.д., причем количество этих начальных условий должно совпадать с порядком соответствующего дифференциального уравнения.

Разложение в степенной ряд имеет тип series, поэтому для дальнейшей работы с этим рядом его следует преобразовать в полином с помощью команды convert(%,polynom), а затем выделить правую часть полученного выражения командой rhs(%).

1. Найти решение задачи Коши:

Решение дифференциальных уравнений в maple примеры

y(0)=0>, y(x), type=series);

Решение дифференциальных уравнений в maple примеры

В полученном решении слагаемое O(x^5) означает, что точность разложения была до 5-го порядка.

2. Найти общее решение дифференциального уравнения y»(х) — y3(х)=е — хcosx, в виде разложения в степенной ряд до 4-го порядка. Найти разложение при начальных условиях: y(0)=1, y'(0)=0.

>restart; Order:=4: de:=diff(y(x),x$2)-

Решение дифференциальных уравнений в maple примеры

Замечание: в полученном разложении запись D(y)(0) обозначает производную в нуле: y'(0). Для нахождения частого решения осталось задать начальные условия:

Решение дифференциальных уравнений в maple примеры

3. Найти приближенное решение в виде степенного ряда до 6-го порядка и точное решение задачи Коши:

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Замечание: тип решения дифференциального уравнения в виде ряда есть series, поэтому для дальнейшего использования такого решения (вычислений или построения графика) его обязательно следует конвертировать в полином с помощью команды convert

Решение дифференциальных уравнений в maple примеры

На этом рисунке видно, что наилучшее приближение точного решения степенным рядом достигается примерно на интервале — 1

Численное решение дифференциальных уравнений

Численное решение дифференциальных уравнений с помощью команды dsolve. Построение графиков решений дифференциальных уравнений с помощью команды odeplot.

Для того, чтобы найти численное решение дифференциального уравнения (задачи Коши или краевой задачи) в команде dsolve следует указать параметр type=numeric (или просто numeric). Тогда команда решения дифференциального уравнения будет иметь вид dsolve(eq, vars, type=numeric, options), где eq – уравнения, vars – список неизвестных функций, options – параметры, позволяющие указать метод численного интегрирования дифференциального уравнения. В Maple реализованы такие методы: method=rkf45 — метод Рунге-Кутта-Фельберга 4-5-ого порядка (установлен по умолчанию); method=dverk78 – метод Рунге-Кутта 7-8 порядка; mtthod=classical – классический метод Рунге-Кутта 3-его порядка; method=gear и method=mgear – одношаговый и многошаговый методы Гира.

График численного решения дифференциального уравнения можно построить с помощью команды odeplot(dd, [x,y(x)], x=x1..x2), где в качестве функции используется команда dd:=dsolve(, y(x), numeric) численного решения, после нее в квадратных скобках указывают переменную и неизвестную функцию [x,y(x)], и интервал x=x1..x2 для построения графика.

1. Найти численное и приближенное решение в виде степенного ряда до 6-ого порядка задачи Коши: ,

Решение дифференциальных уравнений в maple примеры

Сначала найдем численное решение задачи Коши

Замечание: в строке вывода появляется сообщение о том, что при решении использован метод rkf45. Во избежание вывода строк, не несущих полезной информации, рекомендуется отделять промежуточные команды двоеточием. Если необходимо получить значение решения при каком-то фиксированном значении переменной х (заодно будет выведено значение производной решения в этой точке), например, при х=0.5, то следует набрать:

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Теперь найдем приближенное решение задачи Коши в виде степенного ряда и построим графики численного решения и полученного степенного ряда в интервале их наилучшего совпадения.

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Наилучшее приближение решения степенным рядом достигается примерно на интервале — 1

2. Построить графики решений задачи Коши системы дифференциальных уравнений:

х ‘(t)=2y(t)sin(t) — х (t) — t,

Решение дифференциальных уравнений в maple примеры

Пакет графического представления решений дифференциальных уравнений Detools.

Для численного решения задачи Коши, построения графиков решения и фазовых портретов в Maple имеется специальный пакет DEtools.

Команда DEplot из пакета DEtools строит численными методами графики решения или фазовые портреты. Эта команда аналогична команде odeplot, но более функциональна. Она, в отличие от odeplot, сама производит численное решение дифференциального уравнения. Основные параметры DEplot похожи на параметры odeplot: DEplot(de, vars, range, x=х1..х2, y=у1..у2, cond, ptions), где de — дифференциальное уравнение или система дифференциальных уравнений; vars – список неизвестных функций; range – диапазон измерения независимой переменной; cond – начальные условия; x=х1..х2 и y=у1..у2 – диапазоны изменения функций; options – дополнительные параметры.

Наиболее часто используемые параметры: linecolor=цвет линии; scene=[x,y] — определяет, какие зависимости выводить на график; iterations=число итераций, необходимое для повышения точности вычислений (по умолчанию это число равно 1); stepsize=число, равное расстоянию между точками на графике, по умолчанию оно равно (x2 — x1)/20, этот параметр необходим для вывода более гладкой кривой решения;obsrange=true/false — прерывать или нет вычисления, если график решения выходит за установленный для рисования интервал.

Для решения дифференциального уравнения n-ого порядка начальные условия можно задавать в более компактной форме: [x0, y0, y’0, y»0,…], где x0 — точка, в которой задаются начальные условия, y0 — значение искомой функции в точке x0, y’0, y»0,… — значения производных первой, второй и т.д. до (n — 1)-ого порядка.

Нарисовать график решения дифференциального уравнения:

Решение дифференциальных уравнений в maple примеры

, у(0)=0,у'(0)=1 ,у»(0)=1 , в интервале .

Решение дифференциальных уравнений в maple примеры

> restart; with(D Е tools):

(D@@2)(y)(0)=1]], stepsize=.1, linecolor=black,

Решение дифференциальных уравнений в maple примеры

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

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

С помощью команды DEplot можно построить фазовый портрет в плоскости (x, y), для системы двух дифференциальных уравнений:

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Если система дифференциальных уравнений является автономной, то на фазовом портрете будет построено поле направлений в виде стрелок. Размер стрелок регулируется параметром arrows=SMALL, MEDIUM, LARGE, LINE или NONE.

Для того, чтобы нарисовать весь фазовый портрет, необходимо для каждой фазовой траектории указывать начальные условия: например, для системы двух дифференциальных уравнений первого порядка несколько начальных условий в команде DEplots указываются после задания диапазона изменения независимой переменной t: [[x(0)=x1, y(0)=y1], [x(0)=x2, y(0)=y2],…, [x(0)=xn, y(0)=yn]].

Начальные условия можно задавать в более компактной форме: [t0, x0, y0], где t0 — точка, в которой задаются начальные условия, x0 и y0 — значения искомых функций в точке t0.

Фазовый протрет системы двух дифференциальных уравнений первого порядка можно также построить с помощью команды phaseportrait(sys, [x,y],x1..x2,[[cond]]), где sys — система двух дифференциальных уравнений первого порядка, [x,y] — имена искомых функций, x1..x2 — интервал, на котором следует построить фазовый портрет, а в фигурных скобках указываются начальные условия. Эта команда находится в пакете DEtools, поэтому данный пакет должен быть предварительно загружен.

1. Построить фазовый портрет системы дифференциальных уравнений:

Решение дифференциальных уравнений в maple примеры

для нескольких наборов начальных условий: х(0)=1, у(0)=0.2; х(0)=0, у(0)=1; х(0)=1, у(0)=0.4; х(0)=1, у(0)=0.75; х(0)=0, у(0)=1.5; х(0)= — 0.1, у(0)=0.7.

> restart; with(D Е tools):

stepsize=0.1, arrows=none, linecolor=black);

Решение дифференциальных уравнений в maple примеры

2. Построить фазовый портрет с полем направлений автономной системы

Решение дифференциальных уравнений в maple примеры

для различных начальных условий х(0)=1, у(0)=0; х(0)= — 1, у(0)=0; х(0)= p , у(0)=1; х(0)= — p , у(0)=1; х(0)=3 p , у(0)=0.2; х(0)=3 p , у(0)=1; х(0)=3 p , у(0)=1.8; х(0)= — 2 p , у(0)=1;.

> restart; with(D Е tools):

Решение дифференциальных уравнений в maple примеры

3. Построить фазовый портрет системы дифференциальных уравнений:

Решение дифференциальных уравнений в maple примеры

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

Видео:Откуда появляются дифференциальные уравнения и как их решатьСкачать

Откуда появляются дифференциальные уравнения и как их решать

Решение дифференциальных уравнений

Основная функция dsolve

Важное место в математических расчетах занимает решение дифференциальных уравнений. К нему, в частности, обычно относится анализ поведения различных систем во времени (анализ динамики), а также вычисление различных полей (тяготения, электрических зарядов и т. д.). Трудно переоценить роль дифференциальных уравнений в моделировании физических и технических объектов и систем, Maple 7 позволяет решать одиночные дифференциальные уравнения и системы дифференциальных уравнений как аналитически, так и в численном виде. Разработчиками системы объявлено о существенном расширении средств решения дифференциальных уравнений и о повышении их надежности в смысле нахождения решений для большинства классов дифференциальных уравнений. Поэтому данный урок целиком посвящен решению уравнений данного класса. Для решения системы простых дифференциальных уравнений (задача Коши) используется функция dsolve в разных формах записи:

dsolve(ODE, y(x), extra_args)

dsolve((ODE, ICs>, y(x), extra_args)

Здесь ODE — одно обыкновенное дифференциальное уравнение или система из дифференциальных уравнений первого порядка с указанием начальных условий, у(х) — функция одной переменной, Ics — выражение, задающее начальные условия, —множество дифференциальных уравнений, —множество неопределенных функций, extra_argument — опция, задающая тип решения. Параметр extra_argument задает класс решаемых уравнений. Отметим основные значения этого параметра:

  • exact — аналитическое решение (принято по умолчанию);
  • explicit — решение в явном виде;
  • system — решение системы дифференциальных уравнений;
  • ICs — решение системы дифференциальных уравнений с заданными начальными условиями;
  • formal series — решение в форме степенного многочлена;
  • integral transform — решение на основе интегральных преобразований Лапласа, Фурье и др.;
  • series — решение в виде ряда с порядком, указываемым значением переменной Order;
  • numeric — решение в численном виде.

Для решения задачи Коши в параметры dsolve надо включать начальные условия, а при решении краевых задач — краевые условия. Если Maple способна найти решение при числе начальных или краевых условий меньшего порядка системы, то в решении будут появляться неопределенные константы вида _С1, _С2 и т. д. Они же могут быть при аналитическом решении системы, когда начальные условия не заданы. Если решение найдено в неявном виде, то в нем появится параметр _Т.

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

quadraturelinearBernoulliseparable
exactAbelpot_sym

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

Производные при записи дифференциальных уравнений могут задаваться функцией diff или оператором D. Выражение sysODE должно иметь структуру множества и содержать помимо самой системы уравнений их начальные условия.

Решение ОДУ первого порядка

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

Решение дифференциальных уравнений в maple примеры

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

Решение дифференциальных уравнений в maple примеры

Объем данной книги не позволяет остановиться на всех тонкостях аналитического решения дифференциальных уравнений. Множество примеров такого решения дано в справочной базе данных Maple,. 7- К ней нужно обратиться в случае, если решение того или иного дифференциального уравнения выходит за рамки учебного курса.

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

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

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

Обратите внимание на решение второго из этих уравнений. Здесь использован прием визуализации исходного дифференциального уравнения, и оно задается значением переменной de. Кроме того, и это особенно важно, решение осуществляется при заданных начальных условиях. Именно поэтому в решении отсутствуют произвольные постоянные вида _СN .

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

На рис. 13.1 представлено решение системы из двух дифференциальных уравнений различными методами — в явном виде, в виде разложения в ряд и с использованием преобразования Лапласа. Здесь следует отметить, что решение в виде ряда является приближенным. Поэтому полученные в данном случае аналитические выражения отличаются от явного решения и решения с применением преобразования Лапласа.

Решение дифференциальных уравнений в maple примеры

Рис. 13.1 . Решение системы из двух дифференциальных уравнений различными методами

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

Численное решение дифференциальных уравнений

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

В таких случаях для решения дифференциальных уравнений в численном виде используется функция dsolve с параметром numeric или type=numeric . При этом решение возвращается в виде специальной процедуры, по умолчанию реализующей широко известный метод решения дифференциальных уравнений Рунге—Кутта—Фелберга порядков 4 и 5 (в зависимости от условий адаптации решения к скорости его изменения). Эта процедура называется rkf45 и символически выводится (без тела) при попытке решения заданной системы дифференциальных уравнений. Последнее достаточно наглядно иллюстрирует рис. 13.2.

Решение дифференциальных уравнений в maple примеры

Рис. 13.2. Решение системы дифференциальных уравнений численным методом rkf45 с выводом графика решения

Указанная процедура возвращает особый тип данных, позволяющих найти решение в любой точке или построить график решения (или решений). Для графического отображения Maple 7 предлагает ряд возможностей, и одна из них представлена на рис. 13.2 — см. последнюю строку ввода. При этом используется функция plot[odeplot] из пакета odeplot , предназначенного для визуализации решений дифференциальных уравнений.

В список параметров функции dsolve можно явным образом включить указание на метод решения, например опция mathod=dverk78 задает решение непрерывным методом Рунге—Кутта порядка 7 или 8. Вообще говоря, численное решение дифференциальных уравнений можно производить одним из следующих методов:

  • classical — одна из восьми версий классического метода, используемого по умолчанию;
  • rkf45 — метод Рунге—Кутта 4 или 5 порядка, модифицированный Фелбергом;
  • dverk78 — непрерывный метод Рунге—Кутта порядка 7 или 8;
  • gear — одна из двух версий одношагового экстраполяционного метода Гира;
  • mgear — одна из трех версий многошагового эктраполяционного метода Гира;
  • lsode — одна из восьми версий Ливенморского решателя жестких дифференциальных уравнений;
  • taylorseries — метод разложения в ряд Тейлора.

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

С помощью параметра ‘ abserr’ =аеrr можно задать величину абсолютной погрешности решения, а с помощью ‘minerr’=mine — минимальную величину погрешности. В большинстве случаев эти величины, заданные по умолчанию, оказываются приемлемыми для расчетов.

Maple 7 реализует адаптируемые к ходу решения методы, при которых шаг решения h автоматически меняется, подстраиваясь под условия решения. Так, если прогнозируемая погрешность решения становится больше заданной, шаг решения автоматически уменьшается. Более того, система Maple способна автоматически выбирать наиболее подходящий для решаемой задачи метод решения.

Еще один пример решения системы дифференциальных уравнений представлен на рис. 13.3. Здесь на одном графике представлены зависимости у(х) и z(х), представляющие полное решение заданной системы. При этом процедура имеет особый вид listprocedure и для преобразования списка выходных данных в векторы решения Y и Z используется функция subs .

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

Решение дифференциальных уравнений в maple примеры

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

При решении некоторых задач физики и радиоэлектроники выбираемый поумолчанию шаг изменения аргументах или t — Л может привести к неустойчивости решения. Неустойчивости можно избежать рядом способов. Можно, например, нормировать уравнения, избегая необходимости использования малого шага. А можно задать заведомо малый шаг. Например, при method=classical для этого служит параметр stepsize-h. Примеры такого подхода будут даны в уроке 17 (см. Решение физических задач и моделирование цепи на туннельном диоде).

Дифференциальные уравнения с кусочными функциями

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

Ниже представлено задание дифференциального уравнения первого порядка, содержащего кусочную функцию:

Решение дифференциальных уравнений в maple примеры

Используя функцию dsolve , выполним решение этого дифференциального уравнения:

Решение дифференциальных уравнений в maple примеры

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

Решение дифференциальных уравнений в maple примеры

В конце этого раздела приведем пример решения нелинейного дифференциального уравнения Риккати с кусочной функцией:

Решение дифференциальных уравнений в maple примеры

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

Решение дифференциальных уравнений в maple примеры

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

Структура неявного представления дифференциальных уравнений — DESol

В ряде случаев иметь явное представление дифференциальных уравнений нецелесообразно. Для неявного их представления в Maple 7 введена специальная структура:

где exprs — выражение для исходной системы дифференциальных уравнений, vars — заданный в виде опции список переменных (или одна переменная). Структура DESol образует некоторый объект, дающий представление о дифференциальных уравнениях, чем-то напоминающее RootOf . С этим объектом можно обращаться, как с функцией, то есть его можно интегрировать, дифференцировать, получать разложение в ряд и вычислять численными методами. На рис. 13.4 показаны примеры применения структуры DESol . Обратите внимание на последний пример — в нем структура- DESol использована для получения решения дифференциального уравнения в виде степенного ряда.

Решение дифференциальных уравнений в maple примеры

Рис. 13.4. Примеры применения структуры DESol

Инструментальный пакет решения дифференциальных уравнений DEtools

Средства пакета DEtools

Решение дифференциальных уравнений самых различных типов — одно из достоинств системы Maple 7. Пакет DEtools предоставляет ряд полезных функций для решения дифференциальных уравнений и систем с такими уравнениями:

Warning, the name adjoint has been redefined

[DEnormal, DEplot, DEplot3d, DEplot_pofygon, DFactor, DFactorLCLM, DFactorsols, Dchangevar, GCRD, LCLM, PDEchangecoords, RiemannPsols, Xchange, Xcommutator, Xgauge, abelsoL, adjoint, autonomous, bernoullisol, buildsol, buildsym, canoni, caseplqt, casesplit, checkrank, chinisol, clairautsol, constcoeffsols, convertAlg, convertsys, dalembertsol, dcoeffs, de2diffop, dfieldplot, diffop2de, dsubs, eigenring, endomorphism_charpoly, equinv, etajc, eulersols, exactsol, expsols, exterior’_power,firint,firtest, formal_sol, gen_exp, generate_ic, genhomosol, gensys, hamilton_eqs, indicialeq, infgen, initialdata, integrate_sols, intfactor, Invariants, kovacicsols, leftdivision, liesol, line_int, linearsol, matrixDE, matrix_riccati, moserjreduce, muchange, mult, mutest, newtonjpolygon, normalG2, odeadvisor, odepde, parametricsol, phaseportrait, poincare, polysols, ratsols, redode, reduceOrder, reduce_order, regular_parts, regularsp, remove_RootOf, riccati_system, riccatisol, rifsimp, rightdivision, rtaylor, separablesol, solvejgroup, super_reduce, symgen, symmetric_pover, symmetric^product, symtest, transinv, translate, untranslate, varparam, zoom]

Этот пакет дает самые изысканные средства для аналитического и численного решения дифференциальных уравнений и систем с ними. По сравнению с версией Maple V R5 число функций данного пакета в Maple 7 возросло в несколько раз. Многие графические функции пакета DEtools были уже описаны. Ниже приводятся полные наименования тех функций, которые есть в реализациях R5, 6 и 7 системы Maple:

  • DEnormal — возвращает нормализованную форму дифференциальных уравнений;
  • DEplot — строит графики решения дифференциальных уравнений;
  • DEplot3d — строит трехмерные графики для решения систем дифференциальных уравнений;
  • Dchangevar — изменение переменных в дифференциальных уравнениях;
  • PDEchangecoords — изменение координатных систем для дифференциальных уравнений в частных производных;
  • PDEpTot — построение графиков решения дйффереациальых уравнений в частных производных;
  • autonomous — тестирует дифференциальные уравнения на автономность;
  • convertAlg — возвращает список коэффициентов для дифференциальных уравнений;
  • convertsys — преобразует систему дифференциальных уравнений в систему одиночных уравнений;
  • dfieldplot — строит график решения дифференциальных уравнений в виде векторного поля;
  • indicialeq — преобразует дифференциальные уравнения в полиномиальные;
  • phaseportrait — строит график решения дифференциальных уравнений в форме фазового портрета;
  • reduceOrder — понижает порядок дифференциальных уравнений;
  • regularsp — вычисляет регулярные особые точки для дифференциальных уравнений второго порядка;
  • translate — преобразует дифференциальные уравнения в список операторов;
  • untranslate — преобразует список операторов в дифференциальные уравнения;
  • varparam — находит общее решение дифференциальных уравнений методом вариации параметров.

Применение этих функций гарантирует совместимость документов реализаций Maple R5, 6 и 7.

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

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

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

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

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

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

Решение дифференциальных уравнений в maple примеры

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

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

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

Решение дифференциальных уравнений в maple примеры

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

Решение дифференциальных уравнений в maple примеры

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

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

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

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

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

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

Решение дифференциальных уравнений в maple примеры

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

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

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

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

Решение дифференциальных уравнений в maple примеры

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение дифференциальных уравнений в maple примеры

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

Решение дифференциальных уравнений в maple примеры

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

Решение дифференциальных уравнений в maple примеры

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

Функция DEplot из пакета DEtools

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

DEplot(deqns, vans, trange. inits. eqns)

DEplot(deqns. vars. trange, уrange, xrgnge, eqns) .

DEplot(deqns. vars, trange. Inits, xrange. yrange, eqns)

Здесь deqns — список или множество, содержащее систему дифференциальных уравнений первого порядка или одиночное уравнение любого порядка; vars — зависимая переменная или список либо множество зависимых переменных; trange — область изменения независимой переменной t; Inits — начальные условия для решения; yrange — область изменения для первой зависимой переменной, xrange — область изменения для второй зависимой переменной; eqns — опция, записываемая в виде keyword-value. Замена имен переменных другими в данном случае недопустима.

Эта функция обеспечивает численное решение дифференциальных уравнений или их систем при одной независимой переменной t и строит графики решения. Для автономных систем эти графики строятся в виде векторного поля направлений, а для неавтономных систем — только в виде кривых решения. По умолчанию реализуется метод Рунге—Кутта 4-го порядка, что соответствует опции methodiclassical[rk4]. С функцией DEplot могут использоваться следующие параметры:

  • arrows = type — тип стрелки векторного поля (‘SMALL’, ‘MEDIUM’, ‘LARGE’, ‘LINE’
  • или ‘NONE’);
  • colour, color = arrowcolour — цвет стрелок (задается 7 способами);
  • dirgrid = [integer,integer] — число линий сетки (по умолчанию [20, 20]);
  • iterations = integer — количество итераций, представленное целым числом;
  • linесоlor, linecolor = lineinfo — цвет линии (задается 5 способами);
  • method=’rk4 ‘ — задает метод решения (‘euler’, ‘backeuler’, ‘impeuler’ или ‘rk4’);
  • obsrange = TRUE.FALSE — задает (при TRUE ) прерывание вычислений, если кривая решения выходит из области обзора;
  • scene = [name.name] — задает имена зависимых переменных, для которых строится график;
  • stepsize = h — шаг решения, по умолчанию равный abs((b-a))/20 и представленный вещественным значением.

На рис. 13.8 показано решение системы диффкренциальных уравнений

описывающих модель Лотки—Вольтерра при заданных в документе изменениях t, x(t) и y(t). Решение представлено в виде векторного поля стрелки которого являются касательными к кривым решения (сами эти кривые не строятся). Обратите внимание на функциональную закраску стрелок векторного поля, делающую решение особенно наглядным (правда, лишь на экране цветного дисплея, а не на страницах книги).

Решение дифференциальных уравнений в maple примеры

Рис. 13.8. Решение системы дифференциальных уравнений Лотки—Вольтерра , с выводом в виде графика векторного поля

Еще интересней вариант графиков, представленный на рис. 13.9. Здесь помимо векторного поля несколько иного стиля построены фазовые портреты решения с использованием функциональной закраски их линий. Фазовые портреты построены для двух наборов начальных условий:

x(0) = y(0) = 1,2 и x(0) = 1 и у(0)=0,7.

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

Решение дифференциальных уравнений в maple примеры

Рис. 13.9. Пример построения двух фазовых портретов на фоне векторного поля

Функция DEplotSd из пакета DEtools

В ряде случаев решение систем дифференциальных уравнений удобно представлять в виде пространственных кривых — например, линий равного уровня или просто в виде кривых в пространстве. Для этого служит функция DEplot3d :

DEplot3d(deqns, vars, trarige, initset, о)

DEplot3d(deqns, vars, trang, yrange, xrange, initset, o)

Назначение параметров этой функции аналогично указанному для функции DEplot .

Рисунок 13.10 поясняет применение функции DEPlqt3d для решения системы из двух дифференциальных уравнений с выводом фазового портрета колебаний в виде параметрически заданной зависимости x(t), y(t). В данном случае фазовый портрет строится на плоскости по типу построения графиков/линий равной высоты.

Другой пример (рис. 13.11) показывает решение системы из двух дифференциальных уравнений с построением объемного фазового портрета. В этом случае используется трехмерная координатная система и графические построения соответствуют параметрическим зависимостям x(t), y(t) и z(t). Вид фазового портрета напоминает разворачивающуюся в пространстве объемную, спираль.

Функциональная окраска делает график пикантным.

Решение дифференциальных уравнений в maple примеры

Рис. 13.10. Пример решения системы из двух дифференциальных уравнений с помощью функции DEptot3d

Возможности функции DEplot3d позволяют решать системы, состоящие более чем из двух дифференциальных уравнений. Однако в этом случае число решений, представляемых графически, выходит за пределы возможного для трехмерной графики. При этом от пользователя зависит, какие из зависимостей опускаются при построении, а какие строятся.

Функция PDEplot пакета DEtools

Еще одна функция пакета DEtools — DEtools[PDEp1ot] — служит для построения графиков решения систем с квазилинейными дифференциальными уравнениями первого порядка в частных производных.

Эта функция используется в следующем виде:

PDEplotCpdiffeq, van, i_curve, srange, о)

PDEplot(pdiffeq, var, i_curve. srange, xrange, yrange, urange, o)

Решение дифференциальных уравнений в maple примеры

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

Здесь помимо упоминавшихся ранее параметров используются следующие: pdiffeq — квазилинейные дифференциальные уравнения первого порядка ( PDE), vans — независимая переменная и i_curve — начальные условия для параметрических кривых трехмерной поверхности. Помимо опций, указанных для функции DEplot , здесь могут использоваться следующие опции:

  • basechar = TRUE, FALSE. ONLY — устанавливает показ базовых характеристик кривых;
  • basecolor, basecolor = b_color — устанавливает цвет базовых характеристик;
  • initcolor, initcolor =i_color — инициализация цветов;
  • numchar = integer — задает число отрезков кривых, которое не должно быть меньше 4 (по умолчанию 20);
  • numsteps = [integerl.integerZ] — задает число шагов интегрирования (по умолчанию [10, 10]).

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

Решение дифференциальных уравнений в maple примеры

Рис. 13.12. Пример применения функции PDEplot

В данном случае решение представлено трехмерной фигурой весьма нерегулярного вида.

Другой пример использования функции PDEplot показан на рис. 13.13. Он иллюстрирует комбинированное построение графиков решения разного типа с применением функциональной закраски, реализуемой по заданной формуле с помощью опции initcolor .

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

Графическая функция dfieldplot

Графическая функция dfieldplot служит для построения поля направления с помощью векторов по результатам решения дифференциальных уравнений. Фактически эта функция как бы входит в функцию DEplot и при необходимости вызывается последней. Но она может использоваться и самостоятельно, что демонстрирует рис. 13.14, на котором показан пример решения следующей системы дифференциальных уравнений:

Решение дифференциальных уравнений в maple примеры

Рис. 13.13 . Построение комбинированного графика с помощью функции PDEplot

Обратите внимание на использование опций в этом примере, в частности на вывод надписи на русском языке. В целом список параметров функции phaseportrait аналогичен таковому для функции DEplot (отсутствует лишь задание начальных условий).

Графическая функция phaseportrait

Графическая функция phaseportrait служит для построения фазовых портретов по результатам решения одного дифференциального уравнения или системы дифференциальных уравнений deqns . Она задается в следующем виде:

При задании уравнений достаточно указать их правые части. На рис. 13.15 представлен пример применения функции phaseportrait для решения системы из трех дифференциальных уравнений первого порядка.

В этом примере система дифференциальных уравнений задана с помощью оператора дифференцирования D. Функциональная окраска линии фазового портрета достигается использованием параметра linecolor, в правой части которого задана формула для цвета.

Решение дифференциальных уравнений в maple примеры

Рис. 13.14. Построение фазового портрета в виде графика векторного поля

Решение дифференциальных уравнений в maple примеры

Рис. 13.15. Построение фазового портрета с помощью функции phaserportrait

Еще более интересный пример решения дифференциального уравнения представлен на рис. 13.16. Здесь построены фазовые портреты для асимптотических решений.

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

Решение дифференциальных уравнений в maple примеры

Рис. 13.16. Построение асимптотического решения на фоне графика векторного поля

Углубленный анализ дифференциальных уравнений

Задачи углубленного анализа ДУ

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

В частности, расширен круг нелинейных дифференциальных уравнений, для которых Maple7способна дать аналитические решения.

Весь арсенал средств решения ДУ-и методика их применения вполне заслуживают отражения в отдельной большой книге. Мы ограничимся описанием только трех средств системы Maple 7 — проверки ДУ на автономность, углубленным анализом решения с помощью контроля уровня выхода и получением приближенного полиномиального аналитического решения. Более подробное знакомство с новыми возможностями решения дифференциальных уравнений можно получить из соответствующей статьи справки symbolics в разделе What is new.

Проверка ДУ на автономность

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

Для проверки уравнений (или систем) на автономность используется функция:

где des — заданное дифференциальное уравнение или (в виде списка) система дифференциальных уравнений, vars — зависимые переменные; ivar — независимая переменная. Если система автономна, то эта функция возвращает true , в противном случае false .

Решение дифференциальных уравнений в maple примеры

В первом случае система дифференциальных уравнений (модель. Лотки-Воль-терра) автономна, а во втором случае дифференциальное уравнение не автономно.

Контроль уровня вывода решения ДУ

Для углубленного анализа аналитического решения ДУ (или системы ДУ) можно использовать специальную возможность управления уровнем вывода решения с помощью системной переменной infilevel(dsolve)=level. Значение level =all дает обычный вывод решения без Комментариев, уровень 1 зарезервирован для информации, которую может сообщить пользователь, уровень 2 или 3 дает более детальный вывод (включая сообщения об использованном алгоритме и технике решения) и, наконец, уровни 4 и 5 дают наиболее детальную информацию (если тиковая есть в дополнение к той информации, которую дает уровень 2 или 3).

Приведем пример .аналитического решения ДУ третьего порядка с контролем уровня вывода решения:

Решение дифференциальных уравнений в maple примеры

Решение дифференциальных уравнений в maple примеры

В данном случае повышение уровня вывода до 4 или 5 бесполезно, поскольку вся информация о решении сообщается уже при уровне 2 (или 3).

Приближенное полиномиальное решение ДУ

Во многих случаях аналитические решения даже простых ДУ оказываются весьма сложными, например содержат специальные математические функции. При этом нередко полезна подмена такого решения другим, тоже аналитическим, но приближенным решением. Наиболее распространенным приближенным решением в этом случае может быть полиномиальное решение, то есть замена реального решения полиномом той или иной степени. При этом порядок полинома задается значением системной переменной Order , а для получения такого решения функция dsolve должна иметь параметр series .

На рис. 13.17 представлено решение ДУ третьего порядка различными методами: точное аналитическое и приближенное в виде полинома с максимальным заданным порядком 10 и 60. График дает сравнение этих решений для зависимости y(t).

Дадим небольшой комментарий. Нетрудно заметить, что точное аналитическое решение весьма сложно и содержит специальные функции Бесселя и гамма- функции. При порядке полинома 8 (он несколько меньше заданного максимального) решение практически совпадает с точным до значений t Рис. 13.17. Примеры решения ДУ третьего порядка

Что нового мы узнали?

В этим уроке мы научились:

  • Использовать основную функцию решения дифференциальных уравнений dsolve .
  • Решать дифференциальные уравнения первого порядка. О Решать дифференциальные уравнения второго порядка.
  • Решать системы дифференциальных уравнений, .
  • Выполнять численное решение дифференциальных уравнений.
  • Решать дифференциальные уравнения с кусочными функциями.
  • Использовать структуру неявного представления дифференциальных уравнений DESol
  • Применять инструментальный пакет решения дифференциальных уравнений DEtools
  • Осуществлять графическое представление решений дифференциальных уравнений.
  • Осуществлять углубленный анализ аналитических решений дифференциальных уравнений.

🌟 Видео

Дифференциальные уравнения. 11 класс.Скачать

Дифференциальные уравнения. 11 класс.

7. Линейные дифференциальные уравнения первого порядка. Метод Бернулли.Скачать

7. Линейные дифференциальные уравнения первого порядка. Метод Бернулли.

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентамиСкачать

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентами

Операторный метод решения дифференциальных уравнений | Решение задачСкачать

Операторный метод решения дифференциальных уравнений | Решение задач

2. Дифференциальные уравнения с разделяющимися переменными. Часть 1.Скачать

2. Дифференциальные уравнения с разделяющимися переменными. Часть 1.

Линейное дифференциальное уравнение первого порядка (1-x^2)*y'-xy=1Скачать

Линейное дифференциальное уравнение первого порядка (1-x^2)*y'-xy=1

Пример 65. Решить задачу Коши (диффуры)Скачать

Пример 65. Решить задачу Коши (диффуры)

Решение дифференциальных уравнений и систем. Урок 150Скачать

Решение дифференциальных уравнений и систем. Урок 150

Решение системы дифференциальных уравнений методом ЭйлераСкачать

Решение системы дифференциальных уравнений методом Эйлера

Дифференцирование сложных функций Maple 2017Скачать

Дифференцирование сложных функций Maple 2017

Задача Коши ➜ Частное решение линейного однородного дифференциального уравненияСкачать

Задача Коши ➜ Частное решение линейного однородного дифференциального уравнения
Поделиться или сохранить к себе: