No Image

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

СОДЕРЖАНИЕ
671 просмотров
10 марта 2020

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

Для нахождения аналитических решений дифференциальных уравнений в 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.1.

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

de : =

1

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

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

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

deq :=

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

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

de :=

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

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

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

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

Задание 1.2.

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

Читайте также:  Как придумать идею для видео

de : =

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

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

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

Задание 1.3.

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

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. Найти решение краевой задачи: , , . Построить график решения.

de : =

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

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

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

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

Задание 1.4.

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

Найдены две функции 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.5.

1. Найти решение задачи Коши: , в виде степенного ряда с точностью до 5-го порядка.

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

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

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

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

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

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

de : =

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

y( x )=

y( x )=

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

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

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

Примеры решения уравнений встроенными функциями

1. Решить дифференциальное уравнение .

Примечание 1.Производная в Maple задаётся функцией diff.

diff(y(x),x) – первая производная по x от функции y, зависящей от x;

diff(y(x),x$n) – n-ая производная по x от функции y, зависящей от x.

Diff – инертная форма функции производной.

Для решения обыкновенных дифференциальных уравнений (ОДУ) и систем ОДУ, зависящих от одной переменной, используется функция dsolve.

> dsolve(diff(y(x),x$2)-4*diff(y(x),x)+13*y(x)=0,y(x));

2. Решить задачу Коши , если: .

Примечание 2.В обозначении граничных условий с производными используется дифференциальный оператор D (используется только с большой буквы) D(f)(0) – обозначает значение производной от функции f в нуле. Например, если f зависит от x, то это будет обозначать следующее: .

В функции dsolve уравнение и граничные условия записываются в виде списка или множества (описание см. Синтаксис среды Maple).

>dsolve([diff(y(x),x$2)+2*diff(y(x),x)+5*y(x),y(0)=2,D(y)(0)=6],y(x));

3. Решить систему ОДУ

Примечание 3.

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

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

Читайте также:  Браузер для windows xp sp2

4. Решить систему ОДУ , при , .

Примечание 4. Для получения конечного результата с действительными числами используется функция evalf.

evalf[n]( ) или evalf( ,n)

В первом примере функция evalf преобразует все выражения к виду с действительными числами с количеством значащих цифр, определяемым в системной переменной Digits. Во втором случае используется количество цифр, определенное пользователем (n).

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

Для рассматриваемого примера:

>evalf(%);

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

> restart;

> a1:=diff(y(x),x$2)+13*diff(y(x),x)+10=0;

convert(%, D);

convert(%, diff);

> dsolve(a2,y(x));

dsolve(a1,y(x));

Сначала производим отмену всех определений. Затем переменной а1 присваиваем значение дифференциального уравнения с использованием diff и преобразуем его к виду с использованием оператора D. После этого для сравнения переменной a2 присваиваем значение дифференциального уравнения записанного с использованием оператора D и преобразуем к виду с diff. Затем решаем поочередно оба уравнения. Результаты совпадают, следовательно, обе формы записи аналогичны.

Выражение с помощью diff можно записать так: diff(y(x),x$n). Здесь используется оператор перечисления $. Это выражение аналогично записи, где переменная x записана через запятую n раз. Аналогия с помощью оператора D выглядит следующим образом: (D@@n)(y)(x). В данном случае применяется оператор вложенности @@, т. е. сначала берется производная, а затем от нее еще производная и так n раз.

Дата добавления: 2018-05-12 ; просмотров: 1768 ; ЗАКАЗАТЬ РАБОТУ

Для того, чтобы оценить ресурс, необходимо авторизоваться.

Данная книга является учебным пособием по дисциплинам "Математика и информатика", "Информационные технологии". Пособие представляет собой практическое руководство по изучению возможностей пакета аналитических вычислений Maple. Подробные теоретические сведения чередуются с практическими заданиями. Последовательное изучение тем и выполнение заданий позволит шаг за шагом освоить основные приемы работы в математической системе Maple. Учебное пособие предназначено для студентов 1 и 2 курсов социально-психологического и естественно-географического факультетов университета, а также для аспирантов и научных работников, использующих математические методы и модели в естественнонаучных исследованиях.

Комментировать
671 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector