
- •Кафедра «Автоматизация производственных процессов»
- •Составители: к.Т.Н., доц. Каф. Апп с.Б. Кудряшев
- •Печатается по решению методической комиссии факультета «Автоматизация и информатика».
- •1 Краткая теория вопроса
- •2 Цель лабораторной работе
- •3 Содержание лабораторной работы
- •4 Контрольные вопросы
- •5 Содержание отчета
- •6. Библиографический список
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра «Автоматизация производственных процессов»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам
по курсу
«Универсальные алгоритмические и программные средства решения задач управления в технических системах»
«Решение задач анализа и синтеза автоматических систем
в среде пакета MATLAB»
Ростов-на-Дону
2002
Составители: к.Т.Н., доц. Каф. Апп с.Б. Кудряшев
к.т.н., доц. каф. АПП П.С. Обухов
Методические указания по выполнению лабораторных работ по курсу «Универсальные алгоритмические и программные средства решения задач теории управления». – Ростов н/Д, 2002, 8 с.
Является руководством для выполнения лабораторной работы по дисциплине «Универсальные алгоритмические и программные средства решения задач теории управления». Работа посвящена вопросам представления, преобразования и анализа динамических систем в среде пакета MatLAB.
Методические указания ориентированы на студентов очной формы обучения по специальностям 210100 «Управление и информатика в технических системах» и 210200 «Автоматизация производственных процессов и производств», а также может быть использована и для проведения работ со студентами других специальностей.
Печатается по решению методической комиссии факультета «Автоматизация и информатика».
Рецензент: д-р техн. наук, проф. зав. каф. РГАСХМ Р.А. Нейдорф
- Издательский центр ДГТУ, 2002
ЛАБОРАТОРНАЯ РАБОТА
«Решение задач анализа и синтеза автоматических систем
в среде пакета MATLAB»
1 Краткая теория вопроса
Представление и преобразование математических моделей (ММ) динамических систем (ДС).
Задание ДС в матрично-векторной (МВ) форме записи
В современной теории управления для описания ММ ДС используется запись, представляющая собой систему уравнений в переменных состояния [1]
|
(1) |
В пакете MatLAB матрицы вводятся следующим образом:
Способ 1: A = [1 2 3; 4 5 6; 7 8 9] B=[4; 5; 6]
(Прим. Ввод элементов матриц и векторов осуществляется через пробел)
Способ 2: А = [ 1 2 (Enter) B = [10 (Enter)
3 4] 20]
Основные матричные операции:
X=[Y Z] — присоединение столбцов матриц Y и Z;
X=[Y; Z] — присоединение матрицы Z к строкам матрицы Y;
X=Y(:) — все элементы матрицы Y интерпретируются как один столбец;
X=Y(:, j) — выделяется j-й столбец матрицы Y;
X=Y(:, j:k) — выделяет с j-го по k-й столбцы матрицы Y (Y(:,j), Y(:,j+1)... Y(:,k));
X=Y(j:k) — выделение элементов Y(j), Y(j+1)...Y(k) вектора из Y или из 1-го столбца матрицы Y;
X=Y(j:k, m:n) — выделение матрицы, ограниченной j-k строкой и m-n столбцом матрицы Y;
X=Y’ — транспонирование;
det(Y) — определитель;
inv(Y) — обратная матрица;
X*Y, X+Y, X-Y,— умножение, сложение и вычитание матриц;
X/Y,
X\Y — вычисление
и
;
X^n — возведение матрицы X в скалярную целочисленную степень n;
X.*Y, X./Y, X.\Y, X.^Y — поэлементные операции с матрицами одного размера.
Задание ДС во вход-выходной (ВВ) форме записи
В классической теории управления для описания ММ ДС используется понятие передаточных функций (ПФ), которые представляют собой дробно-рациональную функцию [2]
|
(2) |
Для ввода ПФ коэффициенты числителя и знаменателя необходимо задавать в виде вектора (в порядке убывания степени).
NUM=[bm bm-1 ... b1 b0] DEN=[am am-1 ... a1 a0]
Анализ математических моделей динамических систем .
СДУ
(ODE) Форме
Коши |
Линейные стационарные ММ Нелинейные ММ tf2zp zp2ss
zp2tf ss2zp
tf2ss linmod || ss2tf
d2c c2d dtf2ss dlinmod tf2ss || ss2tf
d2d
|
dtf z
- ПФ
ss
В-м
в ПС
ss |
Рисунок 1
Преобразование ПФ:
[NUMc,DENc]=tfchk(NUM,DEN) – проверяет на соответствие порядки числителя и знаменателя, возвращает эквивалентную ПФ с равными порядками (отсутствующие коэффициенты заполняются нулями) или выдает сообщение об ошибке;
[Z,P,K]=tf2zp(NUM,DEM) – находит нули, полюсы и коэффициент передачи (приведенный);
[NUM,DEN]=zp2tf(Z,P,K) – обратное преобразование;
[A,B,C,D]=tf2ss(NUM,DEN) – преобразуем ПФ с одним входом в модель ПС в канонической форме управления. Для перехода также все матрицы необходимо развернуть на 1800: A=rot90(A,2), B=rot90(B,2) и т.д.;
abcdchk(A,B,C,D) – проверяет согласованность размерности матриц и в случае ошибки возвращает сообщение о ней;
[Wn,ksi]=damp(A) – вычисляет сопрягающие частоты и коэффициенты затухания ДС (А может быть либо системной матрицей, либо векторами NUM или DEN, либо векторами корней Z или P);
Построение частотных характеристик:
[Mod,Fi]=bode(A,B,C,D,ui,w),
[Mod,Fi]=bode(NUM,DEN,w) – возвращает вектор амплитуды и фазы (ui номер входа в МВ ММ). Для построения ЛЧХ вектор w должен в логарифмическом масштабе содержать значения частот в рад/с.
Построение фазовой частотной характеристики для неминимально-фазовых звеньев выше 1-го порядка с использованием данной функции выполняется неправильно.
Для коррекции фазовой характеристики имеются следующие характеристики:
Fik=fixphase(Fi) или Fik=add360(Fi) – устраняет разрыв фазы от –1800 к 1800. Фаза Fi задается в градусах;
Fik=addtwopi(Fi) – то же для фазы, заданной в радианах.
Вычисление переходных процессов:
Y – вектор переходного процесса, t – вектор изменения времени,
X – вектор состояния (необязательный параметр, может быть опущен)
[Y,X]=impulse(A,B,C,D,ui,t),
Y=impulse(NUM,DEN,t) – весовая функция,
[Y,X]=step(A,B,C,D,ui,t),
Y=step(NUM,DEN,t) – реакция на единичное ступенчатое воздействие,
[Y,X]=lsim(A,B,C,D,U,t,X0),
Y=lsim(NUM,DEN,U,t) – реакция на произвольно заданное вектором U внешним воздействием (X0 – начальное условие).
Анализ управляемости:
Q=ctrb(A,B) – вычисляет матрицу управляемости Q,
[Ab,Bb,Cb,T]=ctrbf(A,B,C,TOL) – выделение полностью управляемого подпространства, для частично управляемой системы. (TOL – допуск, необязательный параметр, T – матрица преобразования, Ab=TAT-1, Bb=TB, Cb=CT-1).
,
Индекс nc – неуправляемая часть, с – управляемая.
Выделение неуправляемой части:
nc=length(Ab)-rang(Q); Anc=Ab(1:nc,1:nc).
eig(Anc) - cобственные значения неуправляемой части системы.
Анализ наблюдаемости:
R=obsv(A,C) – вычисляет матрицу наблюдаемости R,
[Ab,Bb,Cb,T]=obsvf(A,B,C,TOL) – выделение полностью наблюдаемого подпространства, для частично наблюдаемой системы. (TOL – допуск, необязательный параметр, T – матрица преобразования, Ab=TAT-1, Bb=TB, Cb=CT-1).
,
Индекс no – ненаблюдаемая часть, о – наблюдаемая.
Выделение ненаблюдаемой части:
nо=length(Ab)-rang(R); Ano=Ab(1:no,1:no).
eig(Ano) - cобственные значения ненаблюдаемой части системы.
Построение графиков:
plot(X,Y,S) – построение графика функции Y(X) c заданием типа линии с помощью S (необязательный параметр);
plot3(X,Y,Z,S) – построение трехмерного графика функции Z(X,Y) c заданием типа линии с помощью S (необязательный параметр);
loglog(X,Y,S) – аналогична предыдущей команде, но для задания логарифмического масштаба по X и Y;
semilogx(X,Y,S) или semilogy(X,Y,S) – строит график в логарифмическом масштабе по оси X или Y соответственно;
subplot(m,n,k) – разбивает окно на m окон по горизонтали и n окон по вертикали, а k – номер окна, в котором будет выводиться текущий график;