Доступ к данным о нулях, полюсах и усилении
[z,p,k] = zpkdata(sys)
[z,p,k,Ts] = zpkdata(sys)
[z,p,k,Ts,covz,covp,covk] = zpkdata(sys)
[z,p,k] = zpkdata(sys) возвращает нули z, полюса p, и усиление (усиления) k из модели sys нулей, полюсов и усиления. Выходные параметры z и p массивы ячеек со следующими характеристиками:
z и p имейте столько же строк сколько выходные параметры и столько же столбцов сколько входные параметры.
(i,j) записи z{i,j} и p{i,j} (столбец) нулевые вектора и полюса передаточной функции от входа j к выходу i.
Выход k матрица со столькими же строк сколько выходные параметры и столько же столбцов сколько входные параметры, таким образом что k(i,j) усиление передаточной функции от входа j к выходу i. Если sys передаточная функция или модель в пространстве состояний, это сначала преобразовано в форму нулей, полюсов и усиления с помощью zpk.
Для моделей нулей, полюсов и усиления SISO, синтаксиса
[z,p,k] = zpkdata(sys,'v')
силы zpkdata возвратить нули и орудует шестами непосредственно как вектор-столбцы, а не как массивы ячеек (см. пример ниже).
[z,p,k,Ts] = zpkdata(sys) также возвращает шаг расчета Ts.
[z,p,k,Ts,covz,covp,covk] = zpkdata(sys) также возвращает ковариации нулей, полюсов и усиления идентифицированной модели sys. covz массив ячеек, таким образом что covz{ky,ku} содержит информацию о ковариации о нулях в векторном z{ky,ku}. covz{ky,ku} трехмерный массив размерности 2 2 nz, где Nz длина z{ky,ku}, так, чтобы (1,1) элемент является отклонением действительной части, (2,2) элемент является отклонением мнимой части и (1,2) и (2,1) элементы содержат ковариацию между действительными и мнимыми частями. covp имеет подобное отношение к p.covk матрица, содержащая отклонения элементов k.
Можно получить доступ к остающимся свойствам LTI sys с get или прямой ссылкой, например,
sys.Ts sys.inputname
Учитывая модель нулей, полюсов и усиления с двумя выходными параметрами и одним входом
H = zpk({[0];[-0.5]},{[0.3];[0.1+i 0.1-i]},[1;2],-1)
Zero/pole/gain from input to output...
z
#1: -------
(z-0.3)
2 (z+0.5)
#2: -------------------
(z^2 - 0.2z + 1.01)
Sample time: unspecified
можно извлечь нулевые/полюса/усиления данные, встроенные в H с
[z,p,k] = zpkdata(H)
z =
[ 0]
[-0.5000]
p =
[ 0.3000]
[2x1 double]
k =
1
2
Получить доступ к нулям и полюсам второго выходного канала H, получите содержимое второй ячейки в z и p путем ввода
z{2,1}
ans =
-0.5000
p{2,1}
ans =
0.1000+ 1.0000i
0.1000- 1.0000i
Извлеките матрицы ZPK и их стандартные отклонения для с 2 входами, 1 выход идентифицировал передаточную функцию.
load iddata7
модель передаточной функции
sys1 = tfest(z7, 2, 1, 'InputDelay',[1 0]);
эквивалентная модель процесса
sys2 = procest(z7, {'P2UZ', 'P2UZ'}, 'InputDelay',[1 0]);
1, p1, k1, ~, dz1, dp1, dk1] = zpkdata(sys1);
[z2, p2, k2, ~, dz2, dp2, dk2] = zpkdata(sys2);Используйте iopzplot визуализировать нулевые полюсом местоположения и их ковариации
h = iopzplot(sys1, sys2); showConfidence(h)