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