
- •Лабораторная работа №1 Основные операции и функции языка matlab
- •Рекомендации к выполнению лабораторной работы №1.
- •Сохранение результатов. Работа с редактором отладчиком.
- •Контрольные вопросы
- •Лабораторная работа №2 Массивы и матрицы в языке Matlab.
- •Контрольные вопросы
- •Лабораторная работа №3 Средства графической визуализации matlab
- •Контрольные вопросы
- •Лабораторная работа №4 Программирование в matlab
- •Лабораторная работа № 5 Применение пакета matlab для исследования объектов управления. Использование пакета Control.
- •Описание объектов управления Описание объектов управления при помощи передаточных функций.
- •Описание объектов управления при помощи нолей полей и коэффициентов.
- •Описание объектов управления при помощи моделей в пространстве состояния.
- •Действия с объектами класса Control. Преобразование объектов из одной формы представления в другую.
- •Конструирование систем
- •Анализ систем
- •Задание на лабораторную работу № 5
Действия с объектами класса Control. Преобразование объектов из одной формы представления в другую.
Довольно часто возникает необходимость преобразовать объект представленный в форме пространства состояния в передаточную функцию или получить значения его нолей, полюсов и коэффициентов. В этом случае применяется преобразование представления объектов из одной формы в другую. Данное преобразование производится аналогично созданию объекта, только вместо параметров указывается имя или идентификатор преобразуемого объекта. Например преобразуем объект созданный в предыдущем разделе в передаточную функцию:
GYROtf=tf(GYRO)
Transfer function from input 1 to output...
s - 8.882e-016
#1: --------------
s^3 + 100 s
10
#2: -----------
s^3 + 100 s
Transfer function from input 2 to output...
-10
#1: -----------
s^3 + 100 s
s - 8.882e-016
#2: --------------
s^3 + 100 s
Здесь следует предостеречь пользователя от излишних преобразований ввиду того, что любое преобразование вносит свою погрешность, что снижает точность вычислений.
Конструирование систем
При помощи пакета Control можно производить конструирование различных систем состоящих из различных звеньев описываемых различными объектами класса Control. Здесь необходимо напомнить, что при последовательном соединении звеньев их передаточные функции умножаются, а при параллельном складываются. Поэтому для конструирования системы можно использовать знаки арифметического сложения и умножения при операциях с передаточными функциями и другими объектами класса Control. Также соединение звеньев можно производить при помощи следующих команд:
Parallel(a,b) – производит параллельное соединение звеньев a и b, может использоваться для многомерных систем;
Series(a,b) – производит последовательное соединение звеньев a и b, может использоваться для многомерных систем;
Plus(a,b) – сложение передаточных функций;
Minus(a,b) – вычитание передаточных функций;
Fedback(a,b) – создание отрицательной обратной связи, причем звено b является цепью обратной связи звена а.
Рассмотрим пример моделирования системы управления угловым движением торпеды структурная схема, которой представлена на рис. 8.
Рис. 8 Структурная схема системы управления торпеды.
Создадим модель углового движения торпеды вокруг вертикали в виде двух последовательно соединенных звеньев: апериодического звена, характеризующего влияние момента внешних сил относительно вертикали на угловую скорость торпеды:
>> Torsk=tf(25,[100 50])
Transfer function:
25
----------
100 s + 50
и интегрирующего звена, описывающего переход от угловой скорости к углу поворота торпеды по вертикали:
>>SkUg=tf(1,[1 0])
Transfer function:
1
-
s
Последовательное соединение можно осуществить при помощи умножения передаточных функций:
>> Tor=Torsk*SkUg
Transfer function:
25
--------------
100 s^2 + 50 s
теперь сформируем цепь управления, входом которой является угол рыскания торпеды, а выходом – момент, накладываемый на торпеду со стороны ее рулей направления. Ее будем предполагать состоящей из двух параллельно соединенных частей – части, управляемой гироскопом направления и представляющей собой обычное усилительное (статическое) звено:
>> GN=tf(2,1)
Transfer function:
2
и части управляемой гиротахометром, которую можно представить как диффиренцирующе- колебательное звено:
>> GT=tf([100 0],[1 10 100])
Transfer function:
100 s
----------------
s^2 + 10 s + 100
параллельное соединение звеньев можно осуществить при помощи сложения передаточных функций:
>> Izm=GN+GT
Transfer function:
2 s^2 + 120 s + 200
-------------------
s^2 + 10 s + 100
Теперь найдем модель всей системы автоматического управления угловым движением торпеды, рассматривая цепь управления как цепь отрицательной обратной связи для торпеды, для того воспользуемся процедурой feedback:
>> sys=feedback(Tor,Izm)
Transfer function:
25 s^2 + 250 s + 2500
----------------------------------------------
100 s^4 + 1050 s^3 + 10550 s^2 + 8000 s + 5000
После того как система была сформирована, можно ввести при помощи функции set некоторые ее символьные описания. В частности присвоить названиям входам и выходам, а также дать краткий комментарий самой системе:
>> set(sys,'InputName','Moment Forces','OutputName','Angle')
>>set(sys,'Notes','Movement of torpedo')
>> get(sys)
num: {[0 0 25 250 2.5e+003]}
den: {[100 1.05e+003 1.06e+004 8e+003 5e+003]}
Variable: 's'
Ts: 0
ioDelay: 0
InputDelay: 0
OutputDelay: 0
InputName: {'Moment Forces'}
OutputName: {'Angle'}
InputGroup: {0x2 cell}
OutputGroup: {0x2 cell}
Notes: {'Movement of torpedo'}
UserData: []
Примечание: Допускается производить исследование не присваивая названия входам и выходам системы, но при введении названий и комментариев не следует пользоваться символами русского алфавита так, как это может привести к ошибкам при выполнении расчетов.