Студопедия

КАТЕГОРИИ:

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


Численные методы решения ОДУ




В том случае когда символьное решение ОДУ невозможно, целесообразно использовать численные методы. Maxima включает пакет расширения dynamics, позволяющий проинтегрировать систему ОДУ методом Рунге-Кутта. С той целью Maxima включает пакет dynamics (его необходимо загружать перед использованием). Метод Рунге-Кутта реализует функция rk.

Синтаксис вызова функции rk:

rk([eq], [vars],[init],[t_range]),

где eq - список правых частей уравнений;

vars - список зависимых переменных;

init - список начальных значений;

t-range - список [t, t0, tend,ht], содержащий символьное обозначение независимой переменной (t), её начальное значение (t0), конечное значение (tend), шаг интегрирования (ht).

Рассмотрим пример применения функции rk пакета dynamics.

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

при условии: x(0) = -1,25 , y(0) = 0,75. .

(%i1) load("dynamics");

(%o1) C:/PROGRA~1/MAXIMA~1.2/share/maxima/5.19.2/share/dynamics/dynamics.mac

(%i2) rp1:4-x^2-4*y^2;

(%o2) -4*y^2-x^2+4

(%i3) rp2:y^2-x^2+1;

(%o3) y^2-x^2+1

(%i4) sol:rk([rp1,rp2],[x,y],[-1.25,0.75],[t,0,4,0.02])$

Cписок sol не выводим на экран (он достаточно длинный, поэтому завершаем ввод команды символом $).

Для построения графика решения преобразуем полученный список, построив отдельно список значений t(список xg), x(список yg1), y(список yg2). При построении графика используем опцию discrete.

(%i5) len:length(sol);

(%o5) 201

(%i33) xg:makelist(sol[k][1],k,1,len)$\\;

(%i36) yg1:makelist(sol[k][2],k,1,len)$\\;

(%i39) yg2:makelist(sol[k][3],k,1,len)$\\;

(%i42) plot2d([[discrete,xg,yg1],[discrete,xg,yg2]]);

Результат решения представлен на рис.


Поделиться:

Дата добавления: 2015-05-08; просмотров: 54; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.004 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты