Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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



Численное решение дифференциальных уравнений с помощью команды 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({eq,cond}, y(x), numeric) численного решения, после нее в квадратных скобках указывают переменную и неизвестную функцию [x,y(x)], и интервал x=x1..x2для построения графика.

 

Задание 3.1.

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

Сначала найдем численное решение задачи Коши и построим его график.

> restart; Ordev=6:

> eq:=diff(y(x),x$2)-x*sin(y(x))=sin(2*x):

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

>de:=dsolve({eq,cond},y(x),numeric);

de:=proc(rkf45_x)...end

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

> de(0.5);

>with(plots):

> odeplot(de,[x,y(x)],-10..10,thickness=2);

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

> dsolve({eq, cond}, y(x), series);

> convert(%, polynom):p:=rhs(%):

> p1:=odeplot(de,[x,y(x)],-2..3, thickness=2,

color=black):

> p2:=plot(p,x=-2..3,thickness=2,linestyle=3,

color=blue):

> display(p1,p2);

Наилучшее приближение решения степенным рядом достигается примерно на интервале -1<x<1 (так же как и в примере 3 задания 1.5).

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

х'(t)=2y(t)sin(t)-х(t)-t,

y'(t)=x(t),

х(0)=1, y(0)=2.

> restart; cond:=x(0)=1,y(0)=2:

> sys:=diff(x(t),t)=2*y(t)*sin(t)-x(t)-t,

diff(y(t),t)=x(t):

> F:=dsolve({sys,cond},[x(t),y(t)],numeric):

> with(plots):

> p1:=odeplot(F,[t,x(t)],-3..7, color=black,

thickness=2,linestyle=3):

> p2:=odeplot(F,[t,y(t)],-3..7,color=green,

thickness=2):

> p3:=textplot([3.5,8,"x(t)"], font=[TIMES,

ITALIC, 12]):

> p4:=textplot([5,13,"y(t)"], font=[TIMES,

ITALIC, 12]):

> display(p1,p2,p3,p4);

 

 

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

 

Задание 3.2.

Нарисовать график решения дифференциального уравнения: y²¢ cosx - y² + p y¢ = y - x ,

, , в интервале [-2,5; 1,4].

> restart;with(DEtools):

DEplot(cos(x)*diff(y(x),x$3)-diff(y(x),x$2)+Pi*diff(y(x),x)=y(x)-x,y(x),x=-2.5..1.4,[[y(0)=0,D(y)(0)=1,(D@@2)(y)(0)=1]],stepsize=.1,linecolor=black, thickness=2);

 

Контрольные задания.

 

1 .Найти сумму ряда и сумму первых N членов.

2.Разложить в степенной ряд f(x)=arcsinx в окрестности x=0 до 9-ого порядка.

3.Разложить в ряд Тейлора функцию до 6 – ого прядка в окрестности точки (0, 0).

4.Разложить в ряд Фурье функцию с периодом 4 на интервале [0;4], удерживая 6 членов ряда. Построить на одном рисунке графики функции и ее n-частичной суммы ряда Фурье.

 

5. Найти общее решение дифференциального уравнения:

6. Найти фундаментальную систему решений дифференциального уравнения:

7. Найти решение задачи Коши: y² –3y ¢+2y=

y(0)=1+8ln2 ,y¢ (0)=14ln2 ,

 

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

при начальных условиях х(0)=1, х'(0)=0; у(0)=1.

9. Найти решение нелинейного уравнения при начальных условиях у(0)=2а, у'(0)=а в виде разложения в степенной ряд до 6-го порядка.

10. Построить график численного решения задачи Коши у'=sin(xy), у(0)=1.

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

12. Построить график численного решения задачи Коши у''-'+=0, у(0)=1, у'(0)=-4 на интервале [-1.5; 3], используя команду DEplot

 

Контрольные вопросы.

 

1. Какая команда позволяет решить дифференциальное уравнение? Опишите ее параметры.

2. С помощью каких операторов обозначается производная в дифференциальном уравнении и в начальных условиях?

3. Какой параметр команды dsolve следует установить, чтобы получить фундаментальную систему дифференциальных уравнений?

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

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

6. Какой параметр команды dsolve следует установить, чтобы решить дифференциальное уравнение численно?

7. Как найти значение решения дифференциального уравнения в какой-либо конкретной точке?

8. Какая команда позволяет построить график численно решенного дифференциального уравнения? В каком пакете находится эта команда?

9. Какой пакет предназначен для графического представления и численного решения дифференциального уравнения?

10. В чем отличие команд odeplot и DEplot?

11. Как вычислить сумму или произведение в Maple?

12. Какие команды осуществляют разложение функции в степенные ряды?

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.