Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решение уравнений.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
175.62 Кб
Скачать

Решение дифференциальных уравнений

Многие задачи математики и физики описываются дифференциальными уравнениями вида y(x) = f(x,y). Нелинейные одиночные дифференциальные уравнения и системы таких уравнений, как правило, не имеют аналитических методов решения, и здесь особенно важна возможность их решения методами. MathCAD имеет развитые средства для численного решения систем дифференциальных уравнений. В большинстве случаев желательно представление в графическом виде, что также позволяет легко реализовать система MathCAD.

В то же время нужно отметить, что в отличие от более продвинутых математических систем, таких как Mathematica 2 и 3 или Maple V R4 или R5, MathCAD не имеет средств для аналитического решения тех дифференциальных уравнений, которые такое решение имеют.

Функции для решения обыкновенных дифференциальных уравнений

Для решения задач такого класса в MathCAD введен ряд функций. Вначале остановимся на функциях, дающих решения для систем обыкновенных дифференциальных уравнений:

rkadapt(y, x1, x2, acc, n, F, k, s) – возвращает матрицу, содержащую таблицу

значений решения задачи Коши на интервале

от х1 до х2 для системы обыкновенных диффе-

ренциальных уравнений, вычисленную методом

Рунге-Кутта с переменным шагом и начальными

условиями в векторе у (правые части системы

записаны в векторе F, n– число шагов, k– макси-

мальное число промежутков точек решения и s

минимально допустимый интервал между

точками);

Rkadapt (y, x1, x2, n, F) – возвращает матрицу решений методом Рунге-Кутта с переменным шагом для системы обыкновенных дифференциальных уравнений с начальными условиями в векторе y, правые части которых записаны в символьном векторе F, на интервале от х1 до х2, n– число шагов;

rkfixed(y, x1, x2, n, F) – возвращает матрицу решений методом Рунге- Кутта системы обыкновенных дифференци-альных уравнений с начальными условиями в векторе y, правые части которых записаны в символьном векторе F, на интервале от х1 до х2 при фиксированном числе шагов n.

Рассмотрим пример решения системы двух дифференциальных уравнений с построением решения в виде фазового портрета колебаний, которые описываются решением заданной системы уравнений.

Решение системы из двух дифференциальных уравнений методом Рунге-Кутта с фиксированным шагом

Параметр системы

Вектор начальных условий

Система нелинейных

дифференциальных уравнений

Задание решения

Г рафик решения в виде фазового

портрета колебаний

Решение системы из двух дифференциальных уравнений адаптивным методом Рунге-Кутта

Параметр системы

Вектор начальных условий

Система нелинейных

дифференциальных уравнений

Задание решения

График решения в виде временныхзависимостей

Функция Rkadapt обычно дает более точный результат благодаря автоматическому изменению шага. Естественно, по скорости вычислений она проигрывает функции rkfixed, хотя и не всегда – если решение меняется медленно, это может привести к заметному уменьшению числа шагов. Таким образом, функция Rkadapt наиболее привлекательна для решения систем дифференциальных уравнений, дающих медленно меняющееся решение. В последнем примере решение представлено в виде временных зависимостей.

Если решение системы дифференциальных уравнений имеет вид гладких функций, то вместо функции rkfixed, описанной ранее, целксообразно применять новую функцию:

Bulstoer(y, x1, n, F)

Она возвращает матрицу решения системы обыкновенных дифференциальных уравнений, правая часть которых (в виде первых производных неизвестных функций) записана в векторе F(х,у) при заданных в векторе у начальных условиях и при решении на интервале от х1 до х2для n точек решения, не считая начальной точки.