- •Задания и методические указания для выполнения семестровых расчетно-графических работ по дисциплине «Математические задачи и компьютерное моделирование в энергетике»
- •Задание 1.
- •Методическое указание к выполнению задания
- •Задание 2
- •2.4 Методические указания
- •2.4.1 Решение ду модифицированным методом Эйлера
- •2.4.2 Решение систем дифференциальных уравнений методом Рунге-Кутта
- •Пример решения ду модифицированным Методом Эйлера
- •Пример решения системы ду методом Рунге – Кутта
Пример решения ду модифицированным Методом Эйлера
Отметим, что методы Эйлера (как обычный, так и модифицированный) являются частными случаями явного метода Рунге – Кутта к – го порядка.
В связи с этим уравнение (4) представим в следующем виде:
.
(6)
Для удобства решения дифференциального уравнения (6) в системе Matlab необходимо уравнение представить в следующем виде:
. (7)
Параметры данного уравнения:
Программа решения дифференциального уравнения (7) (рисунок 1) представлена в М – файле. M – file в системе Matlab открывается командой
(в окне Command Windows) File – New – M-File.
Рисунок 1.
x0 – начальное условие переменной i;
[0 0.5] – интервал интегрирования;
Y
-
производная переменной i;
В функции ode45 реализован метод Рунге – Кутта первого порядка (К=1).
На рисунке 2 дается графическое решение уравнения (7).
Рисунок 2. Решение уравнения 7.
Для получения результатов в табличном виде используется программа представленная на рисунок 3.
Рисунок 3.
В программе (рисунок 3)
ts=0:0.01:0.09 – задание сетки времени;
[t0,x0]=ode45(dxdt,ts,x0)- задание анонимной функции правых частей ODE (обыкновенные дифференциальные уравнения).
Результаты вычислений в табличном виде
t0 = 0
0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900
x0 = 0
0.1813 0.3297 0.4512 0.5507 0.6321 0.6988 0.7534 0.7981 0.8347
Пример решения системы ду методом Рунге – Кутта
Рассмотрим пример решения системы уравнений (5). Данную систему уравнений, с позиции удобства решения её в Matlab, следует представить в виде:
или
(8)
Переменные
системы уравнений (8)
также
с позиции удобства решения уравнений
в системе Matlab
обозначим:
В этом случае программа решения системы дифференциальных уравнений при исходных данных:
r1=0.6 r2=0.4
L1=0.5 L2=0.2 L3=0.19
будет иметь вид (рисунок 4):
function runge
x0=[0;0];
interval=[0 6];
[T,X]=ode45(@systm,interval,x0);
plot(T,X(:,1),'b-',T,X(:,2),'k-');
grid
function dx=systm(t,x)
dx=zeros(2,1);
r1=0.6; r2=0.4;
L1=0.5; L2=0.2; L3=0.19;
dx(1)=80-(r1/L1)*x(1)-(L3/L1)*dx(2);
dx(2)=0-(r2/L2)*x(2)-(L3/L2)*dx(1);
end
end
Рисунок 4.
Результаты графического решения дифференциальных уравнений (8) представлены на рисунке 5.
Риснок 5.
Результаты вычислений в табличном виде представлены в таблице 1.
Таблица 1.
T = 0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0001 0.0001 0.0002 0.0002 0.0003 0.0004 0.0008 0.0012
0.0016 0.0020 0.0027 0.0035 0.0042 0.0050 0.0057 0.0065 0.0072
0.0080 0.0087 0.0095 0.0102 0.0110 0.0117 0.0125 0.0132 0.0140
0.0147 0.0155 0.0162 0.0170 0.0177 0.0185 0.0192 0.0200 0.0207
0.0215 0.0222 0.0230 0.0237 0.0245 0.0252 0.0260 0.0267 0.0275
0.0282 0.0290 0.0292 0.0295 0.0297 0.0300
X = 0 0
0.0001 -0.0000 0.0001 -0.0001 0.0002 -0.0001 0.0002 -0.0002
0.0005 -0.0004 0.0007 -0.0007 0.0010 -0.0009 0.0012 -0.0011
0.0025 -0.0023 0.0037 -0.0035 0.0050 -0.0047 0.0062 -0.0059
0.0125 -0.0119 0.0188 -0.0178 0.0251 -0.0238 0.0313 -0.0298
0.0627 -0.0595 0.0941 -0.0893 0.1254 -0.1190 0.1568 -0.1486
0.2166 -0.2052 0.2764 -0.2616 0.3361 -0.3179 0.3958 -0.3741
0.4554 -0.4301 0.5149 -0.4860 0.5745 -0.5418 0.6339 -0.5974
0.6933 -0.6529 0.7527 -0.7083 0.8120 -0.7635 0.8712 -0.8186
0.9304 -0.8736 0.9895 -0.9284 1.0486 -0.9831 1.1076 -1.0377
1.1666 -1.0921 1.2255 -1.1464 1.2844 -1.2006 1.3432 -1.2546
1.4020 -1.3085 1.4607 -1.3623 1.5194 -1.4159 1.5780 -1.4694
1.6365 -1.5228 1.6950 -1.5761 1.7535 -1.6292 1.8119 -1.6822
1.8702 -1.7350 1.9285 -1.7878 1.9867 -1.8404 2.0449 -1.8928
