3. Использование Controls Toolbox
Система Matlab оснащена набором специальных функций для работы с системами управления (controls toolbox). Рассмотрим некоторые из них:
Задание передаточной функции с использованием коэффициентов при степенях числителя и знаменателя
>> sys=tf([1 1],[1 3 12 6])
Transfer function:
s + 1
----------------------
s^3 + 3 s^2 + 12 s + 6
Задание передаточной функции с использованием векторов нулей, полюсов и коэффициента усиления передаточной функции
>> sys2=zpk([-2],[-1 -2+2j -2-2j],[10])
Zero/pole/gain:
10 (s+2)
--------------------
(s+1) (s^2 + 4s + 8)
Последовательное соединение двух блоков
>> sys3=series(sys,sys2)
Zero/pole/gain:
10 (s+2) (s+1)
------------------------------------------------------
(s+1) (s+0.5647) (s^2 + 4s + 8) (s^2 + 2.435s + 10.62)
Параллельное соединение двух блоков
>> sys4=parallel(sys,sys2)
Zero/pole/gain:
11 (s+1.972) (s+0.5728) (s^2 + 2.546s + 10.3)
------------------------------------------------------
(s+1) (s+0.5647) (s^2 + 4s + 8) (s^2 + 2.435s + 10.62)
Соединение типа «обратная связь»
> sys5=feedback(sys,sys2)
Zero/pole/gain:
(s+1)^2 (s^2 + 4s + 8)
-----------------------------------------------------------------------------
(s+1) (s+0.8014) (s^2 + 4.106s + 9.627)(s^2 + 2.092s + 8.814)
Вычисление и построение реакции на единичное ступенчатое воздействие
>> step(sys5)
>> grid
Рисунок 4 – Реакция системы на единичное ступенчатое воздействие
Кроме того, выход команды «step» (и других) может быть сохранен в переменные, а затем построен с помощью команды «plot»:
[y,t]=step(sys)
plot (t,y)
Вычисление и построение реакции на импульсное воздействие
>> impulse (sys5)
>> grid
Рисунок 5 -Реакция системы на импульсное воздействие
Построение диаграммы Найквиста
>> nyquist(sys3)
Рисунок 6 – Диаграмма Найквиста
Построение диаграммы Боде
>> bode(sys3)
Рисунок 7- Диаграмма Боде
Построение корневого годографа
>> rlocus(sys3)
Рисунок 8 – Корневой годограф
4. Программирование в системе Matlab
Для создания файла программы в Matlab нужно в панели инструментов главного окна системы выбрать «Новый М-Файл». После этого запустится редактор системы Matlab, как показано на рисунке 9.
Рисунок 9 – Окно редактора системы Matlab
Команды вводятся последовательно, при этом Matlab распознает стандартные операторы среды программирования (например операторы if, for и т.д.) и выделяет их цветом и отступами. Для сохранения программы и запуска нужно выбрать в меню «отладка» пункт «сохранить и запустить» или нажать клавищу «F5». Пример простого М-Файла показан на рисунке 10.
Рисунок 10 – Сохранение и запуск М-Файла
Вывод программы запускаемой из М-Файла отображается в окне команд или в графических окнах, если используется графика. Рассмотрим более подробно некоторые функции среды программирования:
Условный операторы
if a<b
c=a
else
c=b
end
Оператор выбора switch позволяет выполнить некоторые действия в зависимости от значения переменной.
method = 'Bilinear';
switch lower(method)
case {'linear','bilinear'}
disp('Method is linear')
case 'cubic'
disp('Method is cubic')
case 'nearest'
disp('Method is nearest')
otherwise
disp('Unknown method.')
end
Цикл со счетчиком
a=0
for i=1:100
a=a+1
end
a
вывод программы
>>
a =
0
a =
100
Цикл с предусловием
a=0
while a<100
a=a+1;
end
a
вывод прогаммы
>>
a =
0
a =
100
Среда программирования Matlab обладает достаточно большим набором возможностей, в первую очередь за счет использования специальных функций Matlab в программе. Для получения справки об установленных наборах инструментов достаточно в командном окне ввести help. Для получения справки по какому-либо конкретному набору инструментов, например набор инструментов для систем управления, нужно ввести help control. Для получения справки по конкретной команде или функции нужно ввести help <имя функции>, например для функции tf это будет выглядеть следующим образом: help tf. Здесь следует отметить, что Matlab различает регистр символов в именах функций и переменных.