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