Доступ к данным с нулевым коэффициентом усиления
[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
Модель с нулевым коэффициентом усиления с двумя выходами и одним входом
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)