; ('Похибка Адамса-Башворта'); ( 3); (T, Y); on; ('Аналітичне'); X1 = R (t, a)% Рунге = [0, 1, 0, 0, 0, 1; - 1/a (1), - a (3)/a (1), - a (2)/a (1)]; = [0, 0, 10/a (1)]; = [0, 0, 0];% початкові умови = A * y + f; (:, 1) = y; = t;% k = 1:2% цикл = A * y + f;% = A * (y + h/2 * k1) + f; = A * (y + h/2 * k2) + f; = A * (y + h * k3) + f; = y + h * (k1 + 2 * k2 + 2 * k3 + k4)/6; = A * y + f; (:, k + 1) = y;% кінець
% явний метод Адамса - Башфорта [T, Y] = AB (tspan, a)% діапазон часу = length (tspan);% кіл - у кроків і точок розбиття = tspan (n)/( n - 1);% крок
% X (:, 1) = y0 ';% початкові значенія_own = (R (h, a));% розраховуємо за допомогою методу Рунге - Кутта перші три значення (:, 1) = f_own (:, 1); (:, 2) = f_own (:, 2); (:, 3) = f_own (:, 3);% записуємо їх у столбциk = 3: n - 1 (:, k + 1) = X (:, k) + h/12 ​​* (23 * F (tspan (k), X (:, k)) - 16 * F (tspan (k - 1), X (:, k - 1)) + 5 * F (tspan (k - 2), X (:, k - 2)));% метод Адамса - Башфорта = tspan; Y = X ';
4.4 Налагодження і тестування програми
Для порівняння похибок при різних кроках і аналізу стійкості, проводитимуться обчислення з різним кроком.
Знайдемо h критичне для методу Адамса-Башфорта 3го порядку: * | л | <6/11
л = -0.5 <6/(11 * | л |)
критичне ~ 1,1 критичне вийшло більше одиниці, тому критичним кроком у цій роботі будемо вважати h = 1.
Нижче представлені графіки для різних h і аналіз похибок. = 0,005
В
В
= 0,01
В
В
h = 0,05
В
В
В
= 0,1
В
В В
= 0,5
В
В В
= 1
В
В В
4.5 Дослідження
Крок hПогрешность методу А-БПогрешность ode450, 0053 * 10 -6 2 * 10 -5 0,012,5 * 10 -5 2 * 10 -5 0,053 * 10 -3 2 * 10 -5 0,10,032 * 10 -5 0,52,52 * 10 -5 11,3 * 10 4 2 * 10 -5
Після проведення тестування видно, що похибка методу Адамса-Башфорта збільшується зі збільшенням ширини кроку. На кроці h <0,01 вона стає менше похибки стандартного ode45. p align="justify"> ...