zpkdata

Доступ к данным о нулях и полюсах

Синтаксис

[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

Примеры

Пример 1

Учитывая модель нулей и полюсов с двумя выходными параметрами и одним входом

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

Пример 2

Извлеките матрицы 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)

Смотрите также

| | |

Представлено до R2006a