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