ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 251
- 252
- 253
- 254
- 255
- …
- следующая ›
- последняя »