ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
