Доступ к данным о передаточной функции
[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);