Руководство к решению задач по механике материалов и конструкций. Егодуров Г.С - 253 стр.

UptoLike

Рубрика: 

253
Если значение функции в точке
i
x уже определено
ii
y)x(y
=
, то значение ее в
следующей точке
hxx
ii
+
=
+1
определяется формулой
dx)y,x(fyy
hx
x
ii
i
i
+
+
+=
1
.
Непосредственное вычисление по этой формуле невозможно, так как, не зная заранее
значение
y на участке
[]
1+ii
x,x , нельзя подсчитать
)
y,
x
(
f
и вычислить интеграл.
Поэтому, при численном интегрировании приращение функции определяется как
>
<
=
+
fhyy
ii 1
,
где >< f - расчетное среднее значение производной ),( yxf на шаге интегрирования. В
методы Рунге-Кутта >< f вычисляется как среднее взвешенное величин
0
P ,
1
P ,
2
P ,
3
P
(формула численного интегрирования Симпсона)
)22(
6
1
3210
PPPPf +++>=<
.
Тогда значение функции
1+i
y будет
)22(
6
32101
PPPP
h
yy
ii
++++=
+
,
где
),(
0 ii
yxfP
=
,
)
2
,
2
(
01
h
Py
h
xfP
ii
++=
,
)
2
,
2
(
12
h
Py
h
xfP
ii
++= ,
),(
23
hPyhxfP
ii
+
+
=
.
Как можно видеть,
0
P - значение производной y
в начале шага интегрирования,
1
P ,
2
P
- вычисленные с различной точностью производные в середине шага и
3
P
- в конце.
Вычисления по этим формулам проводятся последовательно на всех шагах интегрирования,
начиная с первого, и в результате определяются приближенные значения
)x(y),...,x(y),x(y
n21
. Изложенный метод без изменений переносится на случай систем
дифференциальных уравнений первого порядка. Записав такую систему и начальные условия
в векторной форме
{} { }
),( yxfy
dx
d
= ,
{
}
{
}
00
)( yxy
=
,
где
{}
y - матрица-стобец неизвестных, получим векторный вариант формул Рунге-Кутта:
{
}
{
}
),(
0 ii
yxfP
=
,
{}
++= )
2
,
2
(
01
h
Py
h
xfP
ii
,
{}
++= )
2
,
2
(
12
h
Py
h
xfP
ii
,
{}
{
}
),(
23
hPyhxfP
ii
+
+
=
,
{}{}{} {} {}{}
)22(
6
)(
32101
PPPP
h
yxy
ii
++++=
+
.
14.3. Описание программы
       Если значение функции в точке xi уже определено y( xi ) = y i , то значение ее в
следующей точке xi +1 = xi + h определяется формулой
                                                         xi + h
                                         yi +1 = yi + ∫ f ( x , y )dx .
                                                           xi
      Непосредственное вычисление по этой формуле невозможно, так как, не зная заранее
значение y на участке [xi , xi +1 ] , нельзя подсчитать f ( x , y ) и вычислить интеграл.
Поэтому, при численном интегрировании приращение функции определяется как
                                            yi +1 − yi = h < f > ,
где < f > - расчетное среднее значение производной f ( x, y ) на шаге интегрирования. В
методы Рунге-Кутта < f > вычисляется как среднее взвешенное величин P0 , P1 , P2 , P3
(формула численного интегрирования Симпсона)
                                         1
                              < f >= ( P0 + 2 P1 + 2 P2 + P3 ) .
                                         6
      Тогда значение функции yi +1 будет
                                                 h
                                  yi +1 = yi + ( P0 + 2 P1 + 2 P2 + P3 ) ,
                                                 6
где
                                                P0 = f ( xi , y i ) ,
                                                       h              h
                                        P1 = f ( xi + , yi + P0 ) ,
                                                       2              2
                                                       h              h
                                        P2 = f ( xi + , yi + P1 ) ,
                                                       2              2
                                         P3 = f ( xi + h, yi + P2 h) .
       Как можно видеть, P0 - значение производной y ′ в начале шага интегрирования, P1 ,
P2 - вычисленные с различной точностью производные в середине шага и P3 - в конце.
Вычисления по этим формулам проводятся последовательно на всех шагах интегрирования,
начиная с первого, и в                     результате определяются приближенные значения
 y( x1 ), y( x 2 ),..., y( x n ) . Изложенный метод без изменений переносится на случай систем
дифференциальных уравнений первого порядка. Записав такую систему и начальные условия
в векторной форме
                                         d
                                           {y} = { f ( x, y )}, {y ( x0 )} = {y0 },
                                        dx
где {y} - матрица-стобец неизвестных, получим векторный вариант формул Рунге-Кутта:
                                             {P0 } = { f ( xi , yi )},
                                   {P1 } =  f ( xi + h , yi + P0 h ) ,
                                                       2           2 

                                    {P2 } =  f ( xi + h , yi + P1 h ) ,
                                                       2           2 
                                      {P3 } = { f ( xi + h, yi + P2 h)},
                         {y( xi+1 )} = {yi } + h ({P0 } + 2{P1} + 2{P2 } + {P3 }) .
                                                6

                                       14.3. Описание программы




                                                    253