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 иметь столько строк, сколько выходов, и столько столбцов, сколько входов.

  • The (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-by-2-by-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