exponenta event banner

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} - 3-D массив размерных 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