Материал: MATLAB 5. Анализ технических систем. Слепокуров Ю.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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 является пустым.

Источник: https://studfile.net/preview/16565812/