Математические методы в географии. Гриценко В.А - 56 стр.

UptoLike

Рубрика: 

54
ЛАБОРАТОРНАЯ РАБОТА 6
Задание: Решить методом Рунге-Кутта систему дифференциальных
уравнений с данными начальными условиями:
)t(2y
3
8
)t(1y)t(0y)t(2y
dt
d
)t(2y)t(0y)1(1y)t(0y30)t(1y
dt
d
)t(1y8)t(0y8)t(0y
dt
d
=
+=
+=
1)0(2y
0)0(1y
1)0(
0y
=
=
=
Решение: В пакете MathCad существует несколько встроенных функ-
ций для решения систем дифференциальных уравнений. Для решения дан-
ной системы мы воспользовались функцией
Rkadapt для поиска прибли-
женного решения.
Задавшись фиксированным числом точек, можно аппроксимировать
функцию более точно, если вычислять ее значения в точках, расположен-
ных следующим образом: достаточно часто на тех интервалах, где функ-
ция меняется быстро, и не очень частогде функция меняется более
медленно. В отличие от функции
rkfixed, которая ищет приближенное
решение с постоянным шагом, функция
Rkadapt проверяет, как быстро
меняется приближенное решение, и соответственно адаптирует размер
шага. Этот адаптивный контроль величины шага дает возможность
функции
Rkadapt вычислять решение на более мелкой сетке в тех облас-
тях, где оно меняется быстро, и на более крупнойв тех областях, где
оно меняется медленно. Это позволяет и повысить точность, и сокра-
тить время, требуемое для решения уравнения. Следует обратить внима-
ние на то, что функция
Rkadapt возвращает решение системы уравнений
на равномерной сетке.
Функция
Rkadapt(y,x1,x2,npoints,D) имеет те же самые аргументы,
что и функция
rkfixed, и возвращает идентичную по виду матрицу с при-
ближенным решением (см. рис.14)
[39].
                         ЛАБОРАТОРНАЯ РАБОТА №6

   Задание: Решить методом Рунге-Кутта систему дифференциальных
уравнений с данными начальными условиями:
         d
            y0( t ) = 8 ⋅ y0( t ) + 8 ⋅ y1( t )
         dt                                                      y0(0) = 1
         d
            y1( t ) = 30 ⋅ y0( t ) + y1(1) − y0( t ) ⋅ y2( t )   y1(0) = 0
         dt
         d                               8                       y 2 ( 0) = 1
            y2( t ) = y0( t ) ⋅ y1( t ) − ⋅ y2( t )
         dt                              3
    Решение: В пакете MathCad существует несколько встроенных функ-
ций для решения систем дифференциальных уравнений. Для решения дан-
ной системы мы воспользовались функцией Rkadapt для поиска прибли-
женного решения.
    Задавшись фиксированным числом точек, можно аппроксимировать
функцию более точно, если вычислять ее значения в точках, расположен-
ных следующим образом: достаточно часто на тех интервалах, где функ-
ция меняется быстро, и не очень часто – где функция меняется более
медленно. В отличие от функции rkfixed, которая ищет приближенное
решение с постоянным шагом, функция Rkadapt проверяет, как быстро
меняется приближенное решение, и соответственно адаптирует размер
шага. Этот адаптивный контроль величины шага дает возможность
функции Rkadapt вычислять решение на более мелкой сетке в тех облас-
тях, где оно меняется быстро, и на более крупной – в тех областях, где
оно меняется медленно. Это позволяет и повысить точность, и сокра-
тить время, требуемое для решения уравнения. Следует обратить внима-
ние на то, что функция Rkadapt возвращает решение системы уравнений
на равномерной сетке.
    Функция Rkadapt(y,x1,x2,npoints,D) имеет те же самые аргументы,
что и функция rkfixed, и возвращает идентичную по виду матрицу с при-
ближенным решением (см. рис.14) [39].




54