ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.05.2019

Просмотров: 1237

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

36 

 
Рассчитываем с шагом h = 0.1 
0. 

????

0

= 1 

1. 

????

1

= ????

0

 1 − 2????

0

∗ ????

0

∗ ℎ  = 1 1 − 2 ∗ 0 ∗ 1 ∗ 0.1  = 1 

2. 

????

2

= ????

1

 1 − 2????

1

∗ ????

1

∗ ℎ  = 1 1 − 2 ∗ 0.1 ∗ 1 ∗ 0.1  = 0.98 

3. 

????

3

= ????

2

 1 − 2????

2

∗ ????

2

∗ ℎ  = 0.98 1 − 2 ∗ 0.2 ∗ 0.98 ∗ 0.1  = 0.94 

*** 
10. 

????

10

= ????

9

 1 − 2????

9

∗ ????

9

∗ ℎ  = 0.3817 

 
Рассчитываем с шагом h = 0.05 
0. 

????

0

= 1 

1. 

????

1

= ????

0

 1 − 2????

0

∗ ????

0

∗ ℎ  = 1 1 − 2 ∗ 0 ∗ 1 ∗ 0.05  = 1 

2. 

????

2

= ????

1

 1 − 2????

1

∗ ????

1

∗ ℎ  = 1 1 − 2 ∗ 0.05 ∗ 1 ∗ 0.05  = 0.995 

3. 

????

3

= ????

2

 1 − 2????

2

∗ ????

2

∗ ℎ  = 0,995 1 − 2 ∗ 0.1 ∗ 0,995 ∗ 0.05  = 0.985 

*** 
20. 10. 

????

20

= ????

19

 1 − 2????

19

∗ ????

19

∗ ℎ  = 0.3743 

 
Точное решение имеет вид  ???? = ????

−????

2

 

???? 1  = 0.368 

 

Относительное  изменение полученного решения  

???? =

????

2ℎ????

− ????

ℎ????

????

2ℎ????

=

0.3817 − 0.3743

0.3817

= 0.019 

 
Относительная изменение  составляет 1.9% 
 
Относительная погрешность  при шаге интегрирования h = 0.05 

???? =

????

ℎ????

− ????

????

=

0.3817 − 0.368

0.3817

= 0.035 

составляет 3.5% 
 
Листинг программы решение обыкновенного дифференциального уравнения   
методом Эйлера 
 
Усовершенствованный метод Эйлера 
 

Точность  метода  Эйлера  можно  повысить,  если  воспользоваться  для 

аппроксимации  интеграла  более  точной  формулой  интегрирования  –
формулой трапеций. 

Основная  идея  этого  метода:  вычисляемое  по  формуле  (5)  очередное 

значение  ????

????+1

=   ????

????

+ ℎ · ???? ????

????

, ????

????

   будет  точнее,  если  значение  производной, 

то есть угловой коэффициент прямой замещающей интегральную кривую на 


background image

 

37 

отрезке  ????

????

, ????

????+1

  будет вычисляться не по левому краю (то есть в точке ????

????

), а 

по центру отрезка  ????

????

, ????

????+1

 

. Но так как значение производной между точками 

????

????

 и ????

????+1

  не  вычисляется,  то  перейдем  к  сдвоенным  участкам   

????

????−1

, ????

????+1

  

центром, в которых является точка  ????

????

, при этом уравнение прямой получает 

вид: 

???? =   ????

????−1

+ ???? ????

????

, ????

????

  · (???? − ????

????−1

)                              (6) 

        А формула (5) получает вид 

????

????+1

= ????

????

+ ∆????

????

= ????

????−1

+ 2ℎ · ????(????

????

, ????

????

)                           (7) 

Формула  (7)  применена  только  для  ???? ≥ 1,    следовательно,  значения  ????

1

 

по ней получить нельзя, поэтому ????

????

 находят по методу Эйлера, при этом для 

получения более точного результата поступают так: с начала по формуле (5) 
находят значение 

????

1
2

=   ????

0

+

2

· ???? ????

0

, ????

0

                                       (8) 

         В точке 

????

1
2

= ????

0

+

2

, а затем находится ????

1

по формуле (7) с шагом 

2

 

????

1

=   ????

0

+ ℎ ∙ ????  ????

1
2

, ????

1
2

                                       (9) 

       После  того  как 

????

1

  найдено  дальнейшие  вычисления  при 

???? = 1,2,3, … . , ????  

производится по формуле (7) 

????

2

=   ????

0

+ 2ℎ · ???? ????

1

, ????

1

 

…. 

 
 

Пример 

В  качестве  примера  проведем  расчеты  по  формулам  усовершенствованного 
метода    Эйлера  с  шагом          h=0,1    для  задачи  Коши    ????

= −2????????, 0 < ???? <

1, ???? 0  = 1. 

 

 

????

0

= 0;   ????

0

= 1;  

 

????

1
2

= ????

0

+


2

= 0 + 0.05 = 0.05 

????

1
2

= ????

0

+ ℎ ∗  −2 ∗ ????

0

∗ ????

0

  = 1 + 0.1 ∗  0  = 1 

????

1

= ????

0

+ ℎ ∗  −2 ∗ ????

1
2

∗ ????

1
2

  = 1 + 0.1 ∗  −2 ∗ 0.05 ∗ 1  = 0.99 

????

2

= ????

0

+ ℎ ∗  −2 ∗ ????

1

∗ ????

1

  = 1 + 0.1 ∗  −2 ∗ 0.1 ∗ 0.99  = 0.96 

????

3

= ????

1

+ 2ℎ ∗  −2 ∗ ????

2

∗ ????

2

  = 0.99 + 2 ∗ 0.1 ∗  −2 ∗ 0.2 ∗ 0.96  = 0.913 

????

4

= ????

2

+ 2ℎ ∗  −2 ∗ ????

3

∗ ????

3

  = 0.96 + 2 ∗ 0.1 ∗  −2 ∗ 0.3 ∗ 0.913  = 0.85 

*** 
????

10

= ????

8

+ 2ℎ ∗  −2 ∗ ????

9

∗ ????

9

  = 0.3656 

 
Точное решение имеет вид  ???? = ????

−????

2

 


background image

 

38 

???? 1  = 0.368 

 

Относительная  погрешность  при  шаге  интегрирования  h  =  0.1 

составляет 0.65% 

 

???? =

???? 1  − ????

10

????(1)

=

0.368 − 0.3656

0.368

= 0.0065 

 

Модифицированный метод (Эйлера-Коши) 

Повысить  точность  и  устойчивость  вычисления  решения  можно  с 

помощью неявного метода Эйлера следующего вида. 
Прогноз: 

???? 

????+1

=   ????

????

+ ℎ · ???? ????

????

, ????

????

                                             (10) 

Коррекция: 

????

????+1

= ????

????

+ ℎ ∙

???? ????

????

,????

????

 +???? ????

????+1

,???? 

????+1

 

2

                             (11) 

Геометрически  это  означает,  что  с  начало  определяется  направление 

интегральной  кривой  в  исходной  точке  (????

????

, ????

1

)  и  во  вспомогательной  точке 

 ????

????+1

, ???? 

????+1

 

,  а  в  качестве  окончательного  направления  берется  среднее 

значение этих направлений. 

Благодаря более точной формуле интегрирования, погрешность метода 

пропорциональна уже квадрату шага интегрирования. 
 

 

Пример 

В  качестве  примера  проведем  расчеты  по  формулам  модифицированным 
методом  
  Эйлера  с  шагом          h=0,1    для  задачи  Коши    ????

= −2????????, 0 < ???? <

1, ???? 0  = 1. 
 

???? 

1

= ????

0

+ ℎ −2 ∗ ????

0

∗ ????

0

  = 1 + 0.1 ∗  −2 ∗ 0 ∗ 1  = 1 

 

????

1

= ????

0

+


2

  −2 ∗ ????

0

∗ ????

0

  +  −2 ∗ ????

1

∗ ???? 

1

   = 1 + 0.05 ∗  0 +  −2 ∗ 0.1 ∗ 1  

= 0.99 

 

???? 

2

= ????

1

+ ℎ −2 ∗ ????

1

∗ ????

1

  = 0.99 + 0.1 ∗  −2 ∗ 0.1 ∗ 0.99  = 0.97 

 

????

2

= ????

1

+


2

  −2 ∗ ????

1

∗ ????

1

  +  −2 ∗ ????

2

∗ ???? 

2

  

= 0.99 + 0.05 ∗   −2 ∗ 0.1 ∗ 0.99  +  −2 ∗ 0.2 ∗ 0.97   = 0.961 

 


background image

 

39 

Таблица  Решение уравнения модифицированным методами Эйлера 
x

i

 

0.1 

0.2 

0.3 

0.4 

0.5 

0.6 

0.7 

0.8 

0.9 

1.0 

y

i

 

0.99  0.961  0.914  0.852  0.779  0.698  0.613  0.528  0.446  0.369 

 
Точное решение имеет вид  ???? = ????

−????

2

   

???? 1  = 0.368 

 

Относительная  погрешность  при  шаге  интегрирования  h  =  0.1 

составляет 0.27% 

 

???? =

???? 1  − ????

10

????(1)

=

0.368 − 0.369

0.368

= 0.0027 

 
Метод  Рунге-Кутты 

Воспользовавшись 

хорошо 

зарекомендовавшей 

себя формулой 

Симпсона, можно получить еще более точную формулу для решения задачи 
Коши для ОДУ первого порядка -  широко используемого в вычислительной 
практике метода Рунге-Кутты. 

В формуле  Симпсона для  приближенного  вычисления  определенного 

интеграла  используются  значения  подинтегрального  выражения  в   трех 
точках.  В  интеграле  их  всего  две,  поэтому  введем  дополнительную  точку  в 
середине отрезка [x

i+1 

, x

i

]. 

????

????+

1
2

= ????

????

+


2

 

тогда можно определить так 

????

????+1

= ????

????

+  

???? ????, ???? ????????

????

????+

1
2

+ℎ

????

????+

1
2

−ℎ

 

????

????+1

= ????

????

+


6

 ???? ????, ????  + 4???? ????

????+ℎ 2

 

, ????

????+ℎ 2

 

  + ???? ????

????+1

, ????

????+1

   

Полученное  выражение  является  неявным,  так  как  в  правой  части 

содержатся   еще  не  определенные  значения  функции y

i+h/2 

и y

i+1

.  Чтобы 

воспользоваться  этой  формулой,  надо  использовать  некоторое  приближение 
для вычисления этих значений ???? 

????+ℎ 2,

 

 ???? 

????+1

 

 

????

????+1

= ????

????

+


6

 ???? ????

????

, ????

????

  + 4???? ????

????+ℎ 2

 

, ???? 

????+ℎ 2

 

  + ???? ????

????+1

, ???? 

????+1

   

При использовании различных методов приближенного вычисления этих 

величин,  получаются  выражения  для  методов  Рунге-Кутты  различного 
порядка точности. 


background image

 

40 

Алгоритм Рунге-Кутты четвертого порядка - (погрешность порядка h

4

): 

????

????+1

= ????

????

+

1
6

 ????

0

+ 2????

1

+ 2????

2

+ ????

3

  

где 

????

0

= ℎ ∗  ???? ????

????

, ????

????

  

????

1

= ℎ ∗  ????  ????

????

+


2

, ????

????

+

????

0

2

  

????

2

= ℎ ∗  ????  ????

????

+


2

, ????

????

+

????

1

2

  

????

3

= ℎ ∗  ???? ????

????

+ ℎ, ????

????

+ ????

2

  

Алгоритм  четвертого  порядка  требует  на  каждом  шаге      четырех 

вычислений функции соответственно, но является весьма точным. 

 

Пример 

Используя алгоритм Рунге-Кутты   четвертого   порядка  решить задачу  Коши   
????

= −2????????, 0 < ???? < 1,   ???? 0  = 1  с шагом h=0.1 

 

????

0

= 0 

????

0

= ℎ ∗  ???? ????

0

, ????

0

  = 0.1 ∗  −2 ∗ 0 ∗ 1  = 0 

????

1

= ℎ ∗  ????  ????

0

+


2

, ????

0

+

????

0

2

  = 0.1 ∗  −2 ∗  0 +

0.1

2

  ∗  1 + 0   = −0.01 

????

2

= ℎ ∗  ????  ????

0

+


2

, ????

0

+

????

1

2

  = 0.1 ∗  −2 ∗  0 +

0.1

2

  ∗  1 +

−0.01

2

   = −0.00995 

????

3

= ℎ ∗  ???? ????

0

+ ℎ, ????

0

+ ????

2

  = 0.01 ∗  −2 ∗ 0.1 ∗ (1 − 0.00995)  = −0.0198 

????

1

= ????

0

+

1
6

 ????

0

+ 2????

1

+ 2????

2

+ ????

3

  = 1 +

????

0

+ 2????

1

+ 2????

2

+ ????

3

6

= 0.99 

 
Результаты расчета сведены в таблицу 
 

????

????

 

0,1 

0.2 

0.3 

0.4 

0.5 

0.6 

0.7 

0.8 

0.9 

1.0 

????

????

 

0.99 

0.961 

0.914 

0.852 

0.779 

0.698 

0.613 

0.527 

0.445 

0.368 

????

0

 

-0.02 

-0.038 

-0.055 

-0.068 

-0.078 

-0.084 

-0.086 

-0.084 

-0.08 

-0.074 

????

1

 

-0.01 

-0.029 

-0.047 

-0.062 

-0.074 

-0.081 

-0.085 

-0.085 

-0.082 

-0.077 

-0.07 

????

2

 

-9.95

x

 

x

10

-3

 

-0.029 

-0.047 

-0.062 

-0.073 

-0.081 

-0.085 

-0.085 

-0.083 

-0.077 

-0.07 

????

3

 

-0.02 

-0.038 

-0.055 

-0.068 

-0.078 

-0.084 

-0.086 

-0.084 

-0.08  

-0.074 

-0.066 

 
Относительная  погрешность  при  шаге  интегрирования  h  =  0.1 

составляет 0.00%