pan> .
Виходячи з вищевикладеного, для вирішення систем диференціальних рівнянь ми вибираємо найбільш точний метод рішення - метод Рунге-Кутта четвертого порядку, один з найуживаніших методів інтегрування диференціальних рівнянь . span>
Цей метод є одноступінчастим і однокроковим, вимагає інформацію тільки про одну точці має невелику погрішність значення функції розраховується при кожному кроці.
В
Малюнок 2.4 Метод Рунге-Кутта четвертого порядку
3. ІДЕНТИФІКАЦІЯ ЗМІННИХ
Таблиця 3.1
В
. ПРОГРАМА РОЗРАХУНКУ НА МОВІ TURBO PASCAL 7.0
program Kurs;
n = 5; c, dc, cpr: array [1 .. n] of real;: array [1 .. 5] of
Runge_kutt_4; r: array [1 .. 5,1 .. n] of real;; i: = 1 to n do begin [1, i]: = dc [i]; [i ]: = cpr [i] + r [1, i] * h/2;;: = t + h/2;; i: = 1 to n do begin [2, i]: = dc [i]; [ i]: = cpr [i] + r [3, i] * h/2;;; i: = 1 to n do begin [3, i]: = dc [i]; [i]: = cpr [i ] + r [3, i] * h;;: = t + h/2;; i: = 1 to n do begin [4, i]: = dc [i]; [5, i]: = 1/ 6 * (r [1, i] +2 * r [2, i] +2 * r [3, i] + r [4, i]); [i]: = cpr [i] + r [5, i] * h/2;;;
(f, 'out.txt'); (f);
: = tn;: = tn; ('------------- Begin data --------------'); ('| c1 =', c [1]: 10:4, '| k1 =', k [1]: 10:4, '|'); ('| c2 =', c [2]: 10: 4, '| k2 =', k [2]: 10:4, '|'); ('| c3 =', c [3]: 10:4, '| k3 =', k [3]: 10 : 4, '|'); ('| c4 =', c [4]: ​​10:4, '| k4 =', k [4]: ​​10:4, '|'); ('| c5 =' , c [5]: 10:4, '| k5 =', k [5]: 10:4, '|'); ('> sum', c [1] + c [2] + c [3 ] + c [4] + c [5]: 10:4, '|');; ('| h =', h: 10:4, '| dp =', dp: 10:4, '|' ); ('| tn =', tn: 10:4, '| tk =', tk: 10:4, '|'); ('| eps =', eps: 10:4, '| |') ; ('------------ End data -----------------');;
(f, 't', # 9, 'c [1]', # 9, 'dc [1]', # 9, 'c [2]', # 9, 'dc [2] ', # 9,' c [3] ', # 9,' dc [3] ', # 9,
'c [4]', # 9, 'dc [4]', # 9, 'c [5]', # 9, 'dc [5]', # 9, 'sum ');
abs (tp) tk + eps; (f);;.
Приклад файлу вихідних даних in.txt
1 1 0 0
.3 0.2 0.05 0.1 0.05
.01.5 0 20 0.001
. РЕЗУЛЬТАТИ РОЗРАХУНКУ