Программное обеспечение Control System Toolbox™ включает несколько команд для извлечения коэффициентов модели, таких как числитель передаточной функции и коэффициенты знаменателя, матрицы пространства состояний и усиления пропорциональной интегральной производной (PID).
Следующие команды доступны для экстракции данных.
| Команда | Результат |
|---|---|
tfdata | Извлеките коэффициенты передаточной функции |
zpkdata | Нуль извлечения и местоположения полюса и системное усиление |
ssdata | Извлеките матрицы пространства состояний |
dssdata | Извлеките матрицы пространства состояний дескриптора |
frdata | Извлеките данные о частотной характеристике из frd модель |
piddata | Извлеките данные о ПИДе параллельной формы |
pidstddata | Извлеките данные о ПИДе стандартной формы |
get | Доступ ко всем значениям свойств модели |
Когда вы используете команду экстракции данных на модели другого типа, программное обеспечение вычисляет коэффициенты целевого типа модели. Например, если вы используете zpkdata на a ss модель, программное обеспечение преобразует модель в zpk сформируйтесь и возвращает нуль и местоположения полюса и системное усиление.
В этом примере показано, как извлечь числитель передаточной функции и содействующее использование знаменателя tfdata.
Создайте первый порядок плюс модель передаточной функции потери времени.
s = tf('s');
H = exp(-2.5*s)/(s+12);Извлеките коэффициенты знаменателя и числитель.
[num,den] = tfdata(H,'v')
Переменные num и den числовые массивы. Без 'v' флаг, tfdata возвращает массивы ячеек.
Примечание
Для моделей передаточной функции SISO можно также извлечь содействующее использование:
num = H.Numerator{1};
den = H.Denominator{1};Извлеките задержку.
Определите который свойство H содержит задержку.
В SISO tf модель, можно описать задержку как входную задержку, выходную задержку или транспортную задержку (задержка ввода-вывода).
get(H)
Numerator: {[0 1]}
Denominator: {[1 12]}
Variable: 's'
IODelay: 0
InputDelay: 0
OutputDelay: 2.5000
Ts: 0
TimeUnit: 'seconds'
InputName: {''}
InputUnit: {''}
InputGroup: [1×1 struct]
OutputName: {''}
OutputUnit: {''}
OutputGroup: [1×1 struct]
Notes: [0×1 string]
UserData: []
Name: ''
SamplingGrid: [1×1 struct]Задержка хранится в OutputDelay свойство.
Извлеките выходную задержку.
delay = H.OutputDelay;
То В этом примере показано, как извлечь ПИД (пропорциональная интегральная производная), получает от использования передаточной функции piddata. Можно использовать те же шаги, чтобы извлечь коэффициенты ПИД из модели любого типа, который представляет ПИД-регулятор, с помощью piddata или pidstddata.
Создайте передаточную функцию, которая представляет ПИД-регулятор фильтром первого порядка на производном термине.
Czpk = zpk([-6.6,-0.7],[0,-2],0.2)
Получите коэффициенты ПИД и отфильтруйте постоянный.
[Kp,Ki,Kd,Tf] = piddata(Czpk)
Эта команда возвращает пропорциональную составляющую Kp, интегральная составляющая Ki, производное усиление Kd, и производная фильтрует постоянную времени Tf. Поскольку piddata автоматически вычисляет параметры ПИД-регулятора, можно извлечь коэффициенты ПИДа, не создавая a pid модель.