
- •Поиск корня нелинейного уравнения с помощью функции
- •Root (выражение, Имя_переменной)
- •Вычисление корней многочлена с помощью функции polyroots
- •Директива Given для подготовки блока решения системы уравнений
- •Решение систем нелинейных уравнений с помощью функций
- •Ввод ограничений при решении систем нелинейных уравнений
- •Примеры решения нелинейных уравнений
- •Решение дифференциальных уравнений
- •Решение системы из двух дифференциальных уравнений методом Рунге-Кутта с фиксированным шагом
- •Решение системы из двух дифференциальных уравнений адаптивным методом Рунге-Кутта
Решение дифференциальных уравнений
Многие задачи математики и физики описываются дифференциальными уравнениями вида 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 точек решения, не считая начальной точки.