Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДЗ_К7.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
147 Кб
Скачать
☆

Рекомендации при выполнении задания с использованием среды matlab

Примечание. В составе системы MATLAB должен быть предустановлен пакет Control system toolbox.

1. Способы задания передаточной функции

Пакет Control system toolbox для описания непрерывных и дискретных динамических моделей систем управления с постоянными параметрами использует либо tf-форму передаточной функции, либо zpk-форму нулей, полюсов и обобщенного коэффициента передачи, либо ss-форму пространства состояний.

Передаточная функция описывается в виде отношения многочленов, которые задаются в виде векторов-строк, составленных из их коэффициентов. В zpk-форме корни многочленов числителя и знаменателя передаточной функции и обобщенного коэффициента передачи также задаются в виде одномерных массивов. Наиболее естественным для системы MATLAB является представление модели в пространстве состояний.

Таким образом, математическую модель стационарной непрерывной системы можно задать следующими способами:

1) в tf-форме передаточной функции

2) в zpk-форме нулей, полюсов и коэффициента усиления

Истинный коэффициент усиления такой системы

3) в ss-форме пространства состояний в виде четверки матриц A, B, C и D системы дифференциальных уравнений

1.1. Задание передаточной функции системы с помощью tf-объекта

Передаточная функция задается многочленом числителя num и многочленом знаменателя den. В системе MATLAB многочлены представляются как векторы-строки, составленные из коэффициентов многочлена в порядке убывания степеней переменной. Например, вектор [1 3 5] соответствует многочлену . Если заданы векторы num и den, соответствующие многочленам числителя и знаменателя, то функция создает модель системы в виде передаточной функции .

Пример.

Функция w=tf([1 0],[1 2 10]) формирует передаточную функцию :

>> w=tf([1 0],[1 2 10])

Transfer function:

s

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

s^2 + 2 s + 10

Пример.

Передаточную функцию можно задать следующим образом:

>> w=tf([2],[2 1])*tf([1],[1 3 1])

Transfer function:

2

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

2 s^3 + 7 s^2 + 5 s + 1

1.2. Задание передаточной функции системы с помощью zpk-объекта

Эта модель тесно связана с формой представления объекта в виде передаточной функции: нули – это корни многочлена числителя, полюсы – корни многочлена знаменателя.

Функция, предназначенная для формирования таких моделей, имеет вид , где z и p – векторы из нулей и полюсов, а k – обобщенный коэффициент усиления.

Не забывайте, что коэффициент k следует задавать аккуратно, чтобы обеспечить истинный коэффициент усиления .

Пример.

Требуется задать передаточную функцию . Для этого необходимо найти все нули и полюса этой передаточной функции, составить из них вектора и задать функцию w=zpk([0],[1-j 1+j 2],-2):

>> w=zpk([0],[1-j 1+j 2],-2)

Zero/pole/gain:

-2 s

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

(s-2) (s^2 - 2s + 2)

Пример.

Пусть требуется задать передаточную функцию .

Обратите внимание, что истинный коэффициент усиления равен 1. Нули и полюса этой передаточной функции следующие: Воспользовавшись равенством получим:

. Отсюда обобщенный коэффициент k=0.5

Тогда функция w=zpk([-1],[1 -0.5],0.5) обеспечит нам исходную передаточную функцию:

>> w=zpk([-1],[1 -0.5],0.5)

Zero/pole/gain:

0.5 (s+1)

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

(s-1) (s+0.5)

Если привести вид полученной передаточной функции к типовому, то можно убедиться, что истинный коэффициент усиления равен 1.

Примечание. Если нули в передаточной функции отсутствуют, то соответствующий вектор следует задавать пустым, в виде пустых скобок [].

Пример.

Пусть требуется задать передаточную функцию

Нули в данной системе отсутствуют, а полюса

Тогда для задания передаточной функции следует воспользоваться записью

w=zpk([],[-0.5 -0.25],0.125), где обобщенный коэффициент 0.125=0.5*0.25 обеспечивает истинный коэффициент, равный 1:

>> w=zpk([],[-0.5 -0.25],0.5*0.25)

Zero/pole/gain:

0.125

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

(s+0.5) (s+0.25)