Система Mathcad Решение систем уравнений • Многие задачи, связанные с анализом динамических систем и их математическим моделированием, базируются на решении систем алгебраических и обыкновенных дифференциальных уравнений (ОДУ) n – го порядка и систем дифференциальных уравнений. • При их решении с использованием системы MathCAD можно отметить два направления это разработка программы пользователя и решение уравнений с помощью ряда функций. Программа пользователя При разработки программы пользователя необходимо: • Осуществить математическое описание объекта анализа и исследования; • Определить исходные данные и начальные условия для решения уравнений; • Выбрать метод решения уравнений; • Сформировать систему итерационных уравнений в зависимости от принятого метода решения; • Оформить результаты решение дифференциальных уравнений в виде зависимостей и графиков и обработать полученные результаты. • Провести анализ полученных результатов исследований. Пример программы пользователя 1 • Пусть объект исследований описывается системой алгебраических уравнений вида: •Представим коэффициенты системы уравнений в виде матрицы, а свободные члены – в виде вектора • Решение системы уравнений x1 R 0 x1 0.99 x2 R 1 x3 R x2 1.466 2 x3 4.585 Расчет корней характеристических уравнений •Достаточно часто при расчете и проектировании различных систем приходится вычислять корни характеристических уравнений, которые представляют собой полиномы третьего и более высокого порядка. •В случае определения корней простейших уравнений вида F(x)=0 решение находится с помощью функции root (Выражение, Имя переменной). • В качестве примера рассмотрим, как определяются корни с помощью этой функции при расчете переходной характеристики следящей системы с характеристическим уравнением следующего вида: 3 2 a3 p a2 p a1 p k 0 Исходные данные •Исходными данными в этом случае являются коэффициенты перед p, а именно , a , a , a , a 1 2 3 0 которые определяют через параметры системы, т.е. k := 398,1 – коэффициент усиления системы, T1:=0.5, T3:=0.014, T2:=0.075 – постоянные времени элементов системы. Тогда a3 : T 1 T 2 T 3 a2 : (T 1 T 2 T 1 T 3 T 3 T 2) a1 : (T 1 T 2 T 3) a0 : k Программа определения корней p 10 3 2 root a3 p a2 p a1 p a0 p 17.355 p1 17.355 p 200 500 i 3 2 root a3 p a2 p a1 p a0 p 26.037 50.981i p2 26.037 50.981i p 400 500 i 3 2 root a3 p a2 p a1 p a0 p 26.037 50.981i p3 : 26.03 50.981 i Корни характеристического уравнения представляют в виде составляющих вектора р p1 p p2 p 3 Поиск корней функцией Ðèñ. 3.1. Ïîèñê êîðíÿ óðàâíåíèÿ polyroots 1. Ôóíêöèÿ, ó êîòîðîé èùóòñÿ êîðíè 3 2 y ( x ) 2 x 20 x 2 x 100 2. Ïîñòðîåíèå ãðàôèêà Пример программы пользователя 2 • Рассчитаем переходную характеристику численным методом Эйлера по дифференциальному уравнению, описывающему следящую систему. • Пусть система описывается дифференциальным уравнением четвертого порядка с нулевыми начальными условиями: 4 3 2 d d d a4 4 x a3 3 x a2 2 x dt dt dt d a1 x a0 x F (t ), dt Преобразование дифференциального уравнения Так как решение дифференциального уравнения высокого порядка не всегда можно решить классическим методом, то оно заменяется системой дифференциальных уравнений первого порядка. Замена производится следующим образом: x x1; dx1 x2 ; dt dx2 x3 ; dt dx3 x4 . dt Полученная система уравнений dx1 x2 ; dt dx2 x3 ; dt dx3 x4 ; dt dx4 F (t ) a3 a2 a1 x3 x2 x1 dt a4 a4 a4 a4 Программа в системе MathCAD 1. Исходные данные a0 20 a1 4 a2 1.5 a3 0.12 a4 0.002 b 4 F ( t) b Система исходных уравнений F1 x1 x2 x3 x4 t x2 F2 x1 x2 x3 x4 t x3 F3 x1 x2 x3 x4 t x4 F ( t) a3 x4 a2 x3 a1 x2 a0 x1 F4 x1 x2 x3 x4 t a4 a4 a4 a4 a4 Начальные условия t0 0 x1 0 0 x2 0 0 0 x3 0 0 x40 Шаг интегрирования t 0.01 n 1000 i 0 n Система итерационных уравнений (метод Эйлера) ti t ti 1 x1 x1 t F1 x1 x2 x3 x4 ti i i i i i i1 x2 x2 t F2 x1 x2 x3 x4 ti i1 i i i i i x3 x3 t F3 x1 x2 x3 x4 ti i1 i i i i i x4i1 x4 t F4 x1 x2 x3 x4 ti i i i i i Переходная характеристика координаты x1 x1i 0,4 0,3 0,2 0,1 0 2 4 6 8 10 ti Решение систем дифференциальных уравнений с помощью встроенных функций. Для решения дифференциальных уравнений в системе MathCAD введен ряд функций, которые дают решение для систем обыкновенных дифференциальных уравнений, представленных в форме Коши Функция Odesolve Функция Odesolve используется в составе вычислительного блока, открывающегося директивой Given. В нем перед функцией должны быть заданы само уравнение и начальные условия. Функция Odesolve имеет следующий вид: где x – аргумент искомой функции y(x); b - конец интервала интегрирования; n – число шагов интегрирования с постоянным шагом. Решение можно представить в виде таблицы или графика. Пример вычислительного блока с функцией Odesolve имеет следующий вид: Функция Rkadapt Rkadapt (y, х1, х2, n, F) — возвращает матрицу решений методом Рунге–Кутта с переменным шагом для системы обыкновенных дифференциальных уравнений с начальными условиями в векторе у, правые части которых записаны в символьном векторе F, на интервале от х1 до х2, n число шагов; Пример решения Пусть задана система уравнений с начальными условиями: Коэффициенты имеют следующие значения Решение системы дифференциальных уравнений с помощью функции Rkadapt можно представить в виде: Оформление решения СДУ в виде графика Оформление решения СДУ в виде таблицы Функция rkadapt rkadapt — возвращает матрицу, содержащую таблицу (у, х1, х2,acc, n, F, k, s) значений решения задачи Коши на интервале от х1 до х2 вычисленную методом Рунге–Кутта с переменным шагом и начальными условиями в векторе у acc - погрешность решения задачи; F- вектор правыx частей системы n - число шагов, k - максимальное число промежуточных точек решения, s - минимально допустимый интервал между точками. Функция выдает решение системы дифференциальных уравнений с переменным шагом. Из описания ее аргументов видно, что функция позволяет пользователю задать точность вычислений, а также требует задания параметров промежуточных вычислений (k, s). При этом технология решения практически не отличается от предыдущих функций . Функция rkfixed rkfixed (y, х1, х2, n, F) — возвращает матрицу решений методом Рунге–Кутта системы обыкновенных дифференциальных уравнений с начальными условиями в векторе у, правые части которых записаны в символьном векторе F, на интервале от х1 до х2 при фиксированном числе шагов n. Решение системы из двух дифференциальных уравнений с применением функции rkfixed Решение уравнений Решение системы из двух дифференциальных уравнений с применением функции rkfixed осуществлено методом Рунге-Кутта. Решения представлено в виде фазового портрета колебаний, которые описываются заданной системой уравнений.