![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Метод Эйлера очень прост и нагляден, но и точность его очень низка. По этой причине он в основном используется в учебных целях для демонстрации сущности численных методов решения дифференциальных уравнений. На практике обычно используются более эффективные численные методы. К таковым, например, относят метод Рунге-Кутта четвертого порядка точности
, (9.5)
где
|
,
.
Схема (9.5), (9.6) используется в большинстве стандартных программ для решения обыкновенных уравнений.
В системе MathCAD метод Рунге_Кутта реализуется с помощью стандартной функции rkfixed - решается задачи Коши для заданных уравнений с постоянным шагом интегрирования.
Для этого систему (9.1) и начальные условия (9.2) запишем в векторной форме
,
где
- вектор искомых решений;
- вектор - функция правых частей уравнений;
- вектор начальных значений y при x = Xinit.
Обращение к функции:
rkfixed(Yinit, Xinit, Xfinal, nstep, F),
где Xfinal - конечное значение x, nstep - число шагов интегрирования; остальные обозначения пояснены выше.
Функция rkfixed возвращает матрицу значений следующего вида
Значения x | Значения y0 | Значения y1 | … | Значения yn-1 | |
x0=Xinit | |||||
x1=x0+h | |||||
x2=x1+h | |||||
… | |||||
x=Xfinal |
В качестве примера на рисунке 9.3 приведено решение с помощью метода Рунге-Кутта уравнения
![]() |
приведено решение методом Рунге - Кутта системы двух уравнений следующего вида
,
с начальными условиями x=0, u=0, v=5.
Поучительный пример приведен на рисунке 9.5, где построены решения уравнения
.
Интегральные кривые для данного уравнения - окружности с центром в начале координат и радиусом, равным y(0). Данное уравнение не имеет решения при y=0 - этому значению соответствует значение x=8. Однако, компьютер этого "не знает" и, начиная с x=8, выдает значения, не имеющие смысла. Попытка решить проблему с помощью уменьшению шага безуспешна, как это и следует из рисунка.
Дата публикования: 2015-04-07; Прочитано: 193 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!