Доступ к данным о нулях, полюсах и усилении
[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)