Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
65
Добавлен:
17.02.2016
Размер:
387.07 Кб
Скачать

3. Использование Controls Toolbox

Система Matlab оснащена набором специальных функций для работы с системами управления (controls toolbox). Рассмотрим некоторые из них:

  1. Задание передаточной функции с использованием коэффициентов при степенях числителя и знаменателя

>> sys=tf([1 1],[1 3 12 6])

Transfer function:

s + 1

----------------------

s^3 + 3 s^2 + 12 s + 6

  1. Задание передаточной функции с использованием векторов нулей, полюсов и коэффициента усиления передаточной функции

>> sys2=zpk([-2],[-1 -2+2j -2-2j],[10])

Zero/pole/gain:

10 (s+2)

--------------------

(s+1) (s^2 + 4s + 8)

  1. Последовательное соединение двух блоков

>> 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)

  1. Параллельное соединение двух блоков

>> 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)

  1. Соединение типа «обратная связь»

> 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)

  1. Вычисление и построение реакции на единичное ступенчатое воздействие

>> step(sys5)

>> grid

Рисунок 4 – Реакция системы на единичное ступенчатое воздействие

Кроме того, выход команды «step» (и других) может быть сохранен в переменные, а затем построен с помощью команды «plot»:

[y,t]=step(sys)

plot (t,y)

  1. Вычисление и построение реакции на импульсное воздействие

>> impulse (sys5)

>> grid

Рисунок 5 -Реакция системы на импульсное воздействие

  1. Построение диаграммы Найквиста

>> nyquist(sys3)

Рисунок 6 – Диаграмма Найквиста

  1. Построение диаграммы Боде

>> bode(sys3)

Рисунок 7- Диаграмма Боде

  1. Построение корневого годографа

>> rlocus(sys3)

Рисунок 8 – Корневой годограф

4. Программирование в системе Matlab

Для создания файла программы в Matlab нужно в панели инструментов главного окна системы выбрать «Новый М-Файл». После этого запустится редактор системы Matlab, как показано на рисунке 9.

Рисунок 9 – Окно редактора системы Matlab

Команды вводятся последовательно, при этом Matlab распознает стандартные операторы среды программирования (например операторы if, for и т.д.) и выделяет их цветом и отступами. Для сохранения программы и запуска нужно выбрать в меню «отладка» пункт «сохранить и запустить» или нажать клавищу «F5». Пример простого М-Файла показан на рисунке 10.

Рисунок 10 – Сохранение и запуск М-Файла

Вывод программы запускаемой из М-Файла отображается в окне команд или в графических окнах, если используется графика. Рассмотрим более подробно некоторые функции среды программирования:

  1. Условный операторы

if a<b

c=a

else

c=b

end

  1. Оператор выбора 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

  1. Цикл со счетчиком

a=0

for i=1:100

a=a+1

end

a

вывод программы

>>

a =

0

a =

100

  1. Цикл с предусловием

a=0

while a<100

a=a+1;

end

a

вывод прогаммы

>>

a =

0

a =

100

Среда программирования Matlab обладает достаточно большим набором возможностей, в первую очередь за счет использования специальных функций Matlab в программе. Для получения справки об установленных наборах инструментов достаточно в командном окне ввести help. Для получения справки по какому-либо конкретному набору инструментов, например набор инструментов для систем управления, нужно ввести help control. Для получения справки по конкретной команде или функции нужно ввести help <имя функции>, например для функции tf это будет выглядеть следующим образом: help tf. Здесь следует отметить, что Matlab различает регистр символов в именах функций и переменных.