s + 10
Ввести обозначение входной переменной 'тяга' и выходной переменной 'скорость', а также заменить символ 's' на 'р'.
»set(h,'input','Тяга','output','Скорость','variable','p')
»h
Transfer function from input "Тяга" to output "Скорость":
1
------
p + 10
В случае многомерной системы для назначения имен каждому входу и выходу следует использовать массивы ячеек, составленные из символов.
Если какие-либо названия следует оставить не присвоенными, то вместо них надо указать пустую строку.
По команде set(sys) можно вывести на экран все свойства для lti-модели
sуs.
Предупреждение:
Переустановка значения периода дискретности, например с нулевого на ненулевое значение, характерное для дискретных систем, не влечет за собой построения дискретной модели. Для перехода от непрерывной модели к дискретной и обратно следует использовать функции c2d и d2c.
Третий способ установки значений свойств - это присваивание значений элементам структуры. Используемые в ППП Control System Toolbox Iti-объекты с точки зрения типа данных являются массивами записей (структурами) языка MATLAB, которые снабжены дополнительным флагом, указывающим, что они являются lti-объектами.
Пример:
Рассмотрим одномерную стационарную систему в tf-форме и выявим ее структуру.
» sys=tf(2,[0.1 1])
Transfer function:
2
---------
0.1s + 1
»namefields=fieldnames(sys)
namefields =
'num'
'den'
'Variable'
'lti'.
Для получения значений полей следует использовать следующие опера-
торы:
» sys.num
ans = |
[1x2 double] |
» sys.num{1} |
|
ans = |
0 2 |
» sys.den{1} |
|
ans = |
0.1000 1.0000 |
» sys.var ans = s
Имена полей массива записей (структуры) являются именами свойств, поэтому можно назначать или изменять значения свойств, присваивая значения элементам структуры:
PropertyValue = sys.PropertyName % получить значение свойства sys.PropertyName = PropertyValue % установить значение свойства
Эти операторы присваивания эквивалентны следующим операторам с использованием функций get и set:
PropertyValue = get(sys,'PropertyName') set(sys,'PropertyName',PropertyValue).
Вотличие от использования стандартных структур системы MATLAB в
ПППControl System Toolbox не надо указывать полное имя поля структуры и различать строчные и прописные буквы.
Пример:
Вводя операторы и используя сокращения для имени поля
» h = tf(1,[1 0],'inputname','u','variable','p'); % h(p)=1/p;
h.inp получим ans = 'u'
Этот результат эквивалентен обращению в форме h.InputName. Все допустимые форматы операторов, используемые для работы с массивами записей (структурами), распространяются на объекты класса Iti.
Пример:
Следующие операторы позволяют изменять числитель передаточной функции:
» h=tf(1,[1 0],'inputname','u','variable','p')
Transfer function from input "u" to output:
1
-
p
» h.num{1}=[1 2]
Transfer function from input "u" to output:
p + 2
-----
p
» h.num{1}(1)=3
Transfer function from input "u" to output:
3 p + 2
-------
p
» h.num{1}(2)=5
Transfer function from input "u" to output:
3 p + 5
-------
p
|
3.5. Функции создания и преобразования lti-моделей |
ss |
Содание ss модели |
Синтаксис:
sys = ss(a, b, c, d) sys = ss(a, b, c, d, Ts)
Функция sys = ss(a, b, c, d) формирует непрерывную ss-модель, описываемую четверкой векторов пространства состояний системы. Вторая форма оператора формирует дискретную модель с периодом дискретности Ts.
Все формы операторов могут быть дополнены парами свойство/значение (Property/Value). Если Вы забыли какие-либо свойства lti-моделей, можно воспользоваться командой ltiprops, которая даст необходимую подсказку.
tf |
Содание tf модели |
|
|
Синтаксис:
sys = tf(num, den) sys = tf(num, den, Ts)
Команда по своим свойствам и порядку действия аналогична вышеописанной, за исключением того, что в результате выполнения команды формируется объект подкласса tf.
zpk |
Содание zpk модели |
|
|
Синтаксис:
sys = zpk(z, p, k) sys = zpk(z, p, k, Ts)
Формирование объекта подкласса zpk. При этом:
z и p являются массивами ячеек размера Ny Nu , где элементы z{i, j} и p{i, j} содержат нули и полюсы передаточной функции по входу j и выходу i;
k двумерный массив обобщенных коэффициентов передачи.
ssdata |
Извлечение данных о ss модели |
|
|
Синтаксис:
[А, В, С, D] = ssdata(sys)
[А. В, С, D, Ts, Td] = sdata(sys)
Функция [А, В, С, D] = ssdata(sys) возвращает значения четырех матриц {А, В, С, D } для lti-объекта с дескриптором sys. Если lti-объект не является моделью подкласса ss, то в первую очередь он преобразуется в ss-модель.
Функция [А, В, С, D, Ts, Td] = ssdata(sys) позволяет извлечь информацию о четверке матриц {А, В, С, D } для lti-объекта с дескриптором sys, a также о значениях периода дискретности Ts и запаздываниях на входах Td. Для непрерывных моделей Ts = 0, а каждый элемент вектора Td соответствует одному входу. Для дискретных моделей вектор Td является пустым.
Другие свойства lti-объекта с дескриптором sys доступны по команде get или при прямом обращении к элементам массива записей.
tfdata Извлечение данных о tf модели
Синтаксис:
[num, den] = tfdata(sys)
[num, den, Ts, Td] = tfdata(sys) [num. den] = tfdata(sys, V)
Функция [num, den] = tfdata(sys) возвращает матричную передаточную функцию для lti-объекта с дескриптором sys в виде описания массивов числителей и знаменателей. Массивы числителей num и знаменателей den являются массивами ячеек с числом строк, равным числу выходов, и числом столбцов, равным числу входов, а их индексы (i, j) определяют передаточную функцию от входа j до выхода i. Если lti-объект не является моделью подкласса tf, то в первую очередь он преобразуется в tf-модель.
Функция [num, den, Ts, Td] = tfdata(sys) также возвращает значения периода дискретности Ts и запаздывания на входах Td. Для непрерывных моделей Ts = 0, а каждый элемент вектора Td соответствует одному входу. Для дискретных моделей вектор Td является пустым.
Для одномерных систем функция [num, den] = tfdata(sys, V) возвращает числитель и знаменатель в виде числовых значений векторов-строк, а не в виде описания размерностей массива ячеек.
Другие свойства lti-объекта с дескриптором sys доступны по команде get или при прямом обращении к элементам массива записей.
zpkdata |
Извлечение данных о zpk модели |
|
|
Синтаксис:
[z, p. k] = zpkdata(sys)
[z, р, k, Ts, Td] = zpkdata(sys) [z. p, k] = zpkdata(sys, V)
Функция [z, p, k] = zpkdata(sys) возвращает нули, полюсы и обобщенные коэффициенты передачи для каждого канала М-объекта с дескриптором sys. Массивы ячеек z, p имеют число строк, равное числу выходов, и число столбцов, равное числу входов; их индексы (i, j) задают элементы массива ячеек, которые содержат нули, полюсы и обобщенный коэффициент передачи для передаточной функции от входа j до выхода i. Если lti-объект не является моделью подкласса zpk, то в первую очередь он преобразуется в zpk-модель.
Функция [z, p, k, Ts, Td] = zpkdata(sys) также возвращает значения периода дискретности Ts и запаздывания на входах Td. Для непрерывных моделей Ts = 0, а каждый элемент вектора Td соответствует одному входу. Для дискретных моделей вектор Td является пустым.