Будем интегрировать от 0 до ti, тогда согласно правилам интегрирования имеем:
Полученное аналитическое решение характеризуется тем, что оно является абсолютно точным, но если уравнение окажется сколько-нибудь сложным, то решение не будет найдено вовсе. Аналитический путь решения не универсален.
Численный способ решения предполагает, что расчет будет вестись по формуле Эйлера на ряде последовательных шагов. На каждом шаге решение имеет свою ошибку (см. рис. 10.2), поскольку на каждом шаге кривая заменяется прямым отрезком.
При алгоритмической реализации расчет реализуется циклом, в котором изменяется t (счетчик t) и y:
t := t + Δt y := y + 2 · t · y · Δt
Блок-схема при реализации метода на компьютере показана на рис. 10.5.
Рис. 10.5. Блок-схема реализации метода Эйлера
В реализации Стратум запись будет выглядеть так (наличие символа «~» при t):
t := t + Δt y := y + 2 · ~t · y · Δt
Будем искать значение y рассмотренного ранее примера в численном виде на промежутке от T = 0 до T = 1. Возьмем число шагов n = 10, тогда шаг приращения Δt составит: Δt = (1 – 0)/n = (1 – 0)/10 = 0.1.
Таблица 10.1. Численный расчет уравнения методом Эйлера и сравнение результата с точным решением на каждом шаге
i
ti
yi = yi – 1 + y'i – 1 · Δt
y'i = 2ti · yi
Δyi = y'i · Δt
yi + 1 = yi + Δyi
yточн. = exp(ti2)
0.0
0.1
0.2
0.02
1.02
1.0101
0.2
1.02
0.408
0.0408
1.0608
1.0408
0.3
1.061
0.636
0.0636
1.1246
1.0942
0.4
1.124
0.900
0.0900
1.2140
1.1735
0.5
1.214
1.214
0.1214
1.3354
1.2840
0.6
1.336
1.603
0.1603
1.4963
1.4333
0.7
1.496
2.095
0.2095
1.7055
1.6323
0.8
1.706
2.729
0.2729
1.9789
1.8965
0.9
1.979
3.561
0.3561
2.3351
2.2479
1.0
2.335
4.669
0.4669
2.8019
2.7183
Обратите внимание на то, что рассчитанное численно значение (yi + 1) отличается от точного (yточн.), и погрешность (разница столбцов yi + 1 и yточн.) в процессе расчета нарастает подобно тому, как было показано на рис. 10.4.
Теперь подсчитаем относительную погрешность σ для расчетного значения y(1), полученного численно, в сравнении с теоретическим точным yтеор. по следующей формуле:
σ = (1 – yрасч./yтеор.) · 100%
и сравним σ при различных значениях Δt.
Если будем менять значение шага Δt, например, уменьшать шаг, то относительная погрешность расчета тоже будет уменьшаться. Вот что получится при вычислении значения y(1) с разными значениями шага (см. табл. 10.2).
Таблица 10.2. Зависимость погрешности расчета от размера шага Δt
Δt
yрасч.(1)
yтеор.(1)
σ
1/10
2.3346
2.7183
14%
1/20
2.5107
2.7183
8%
1/100
2.6738
2.7183
2%
Как видим, с уменьшением шага приращения Δt уменьшается величина относительной погрешности, а значит, повышается точность расчета.
Обратите внимание, что изменение шага в 10 раз (с 1/10 до 1/100) ведет к изменению величины ошибки примерно тоже в 10 раз (с 14% до 2%). При изменении шага в 100 раз ошибка примерно уменьшится тоже в 100 раз. Иными словами размер шага и ошибка для метода Эйлера связаны линейно. Хотите уменьшить в 10 раз ошибку — уменьшайте в 10 раз шаг и увеличивайте соответственно в 10 раз количество вычислений. Этот факт в математике принято обозначать символом ε = O(Δt), а метод Эйлера называют методом первого порядка точности.
Поскольку в методе Эйлера ошибка достаточно велика и от шага к шагу накапливается, а точность пропорциональна количеству вычислений, то метод Эйлера обычно применяют для грубых расчетов, для оценки поведения системы в принципе. Для точных количественных расчетов применяют более точные методы.