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