Система Mathcad Решение систем уравнений

реклама
Система 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
i1

 
 x2    x2  t  F2 x1  x2  x3  x4  ti
i1
i
i
i
i
i

 
 x3   x3  t  F3 x1  x2  x3  x4  ti
i1
i
i
i
i

  i
 x4i1   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
осуществлено методом Рунге-Кутта.
Решения
представлено
в
виде
фазового портрета колебаний, которые
описываются
заданной системой
уравнений.
Скачать