Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RGR_NOV1.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
158 Кб
Скачать
☆

Пример решения ду модифицированным Методом Эйлера

Отметим, что методы Эйлера (как обычный, так и модифицированный) являются частными случаями явного метода Рунге – Кутта к – го порядка.

В связи с этим уравнение (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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]