Доступ к данным о передаточной функции
[num,den] = tfdata(sys)
[num,den,Ts] = tfdata(sys)
[num,den,Ts,sdnum,sdden]=tfdata(sys)
[num,den,Ts,...]=tfdata(sys,J1,...,Jn)
[num,den] = tfdata(sys)
возвращает числитель (числители) и знаменатель (знаменатели) передаточной функции для TF, модель SS или ZPK (или массив LTI TF, моделей SS или ZPK) sys
. Для одной моделей LTI выходные параметры num
и den
tfdata
являются массивами ячеек со следующими характеристиками:
num
и den
имеют столько же строк сколько выходные параметры и столько же столбцов сколько входные параметры.
Записи (i,j)
num{i,j}
и den{i,j}
являются векторами - строками, задающими числитель и коэффициенты знаменателя передаточной функции от входа j
до вывода i
. Эти коэффициенты упорядочены в убывающих степенях s или z.
Для массивов sys
моделей LTI, num
и den
является многомерными массивами ячеек с теми же размерами как sys
.
Если sys
является пространством состояний или моделью нулей и полюсов, он сначала преобразован в форму передаточной функции с помощью tf
. Для получения дополнительной информации о формате данных модели передаточной функции смотрите страницу с описанием tf
.
Для передаточных функций SISO, синтаксиса
[num,den] = tfdata(sys,'v')
tfdata
сил, чтобы возвратить числитель и знаменатель непосредственно как векторы - строки, а не как массивы ячеек (см. пример ниже).
[num,den,Ts] = tfdata(sys)
также возвращает шаг расчета Ts
.
[num,den,Ts,sdnum,sdden]=tfdata(sys)
также возвращает неуверенность в числителе и коэффициентах знаменателя идентифицированной системы sys
. sdnum{i,j}(k)
является 1 стандартной неуверенностью в значении, num{i,j}(k)
и sdden{i,j}(k)
являются 1 стандартной неуверенностью в значении den{i,j}(k)
. Если sys
не содержит информацию о неуверенности, sdnum
и sdden
пусты ([]
).
[num,den,Ts,...]=tfdata(sys,J1,...,Jn)
извлекает данные для записи (J1,...,JN)
в образцовом массиве sys
.
Можно получить доступ к остающимся свойствам LTI sys
с get
или прямой ссылкой, например,
sys.Ts sys.variable
Учитывая передаточную функцию SISO
h = tf([1 1],[1 2 5])
можно извлечь числитель и коэффициенты знаменателя путем ввода
[num,den] = tfdata(h,'v') num = 0 1 1 den = 1 2 5
Этот синтаксис возвращает два вектора - строки.
Если вы превращаете h
в передаточную функцию MIMO путем ввода
H = [h ; tf(1,[1 1])]
команда
[num,den] = tfdata(H)
теперь возвращает два массива ячеек с данными о числителе/знаменателе для каждой записи SISO. Используйте celldisp
, чтобы визуализировать эти данные. Ввод
celldisp(num)
Эта команда возвращает векторы числителя записей H
.
num{1} = 0 1 1 num{2} = 0 1
Точно так же для знаменателей, ввести
celldisp(den) den{1} = 1 2 5 den{2} = 1 1
Извлеките числитель, знаменатель и их стандартные отклонения для с 2 входами, 1 вывод идентифицировал передаточную функцию.
load iddata7
модель передаточной функции
sys1 = tfest(z7, 2, 1, 'InputDelay',[1 0]);
эквивалентная модель процесса
sys2 = procest(z7, {'P2UZ', 'P2UZ'}, 'InputDelay',[1 0]); [num1, den1, ~, dnum1, dden1] = tfdata(sys1); [num2, den2, ~, dnum2, dden2] = tfdata(sys2);