主要内容

zpkdata

访问零极点增益数据

说明

[z,p,k] = zpkdata(sys) 返回零极点增益模型 sys 的零点 z、极点 p 和增益 k

示例

[z,p,k,Ts] = zpkdata(sys) 还返回采样时间 Ts

[z,p,k,Ts,covz,covp,covk] = zpkdata(sys) 还返回辨识模型 sys 的零点、极点和增益的协方差。

示例

[z,p,k] = zpkdata(sys,'v') 对于 SISO 零极点增益模型,直接以列向量形式返回零点和极点。

示例

全部折叠

假设有一个具有两个输出和一个输入的零极点增益模型

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 的第二个输出通道的零点和极点,请通过键入以下代码获取 zp 中第二个单元的内容

z{2,1}
ans =
   -0.5000
p{2,1}
ans =
   0.1000+ 1.0000i
   0.1000- 1.0000i

提取一个 2 输入、1 输出的辨识传递函数的 ZPK 矩阵及其标准差。

load iddata7

传递函数模型

sys1 = tfest(z7, 2, 1, 'InputDelay',[1 0]);

等效的过程模型

sys2 = procest(z7, {'P2UZ', 'P2UZ'}, 'InputDelay',[1 0]);

[z1, p1, k1, ~, dz1, dp1, dk1] = zpkdata(sys1);
[z2, p2, k2, ~, dz2, dp2, dk2] = zpkdata(sys2);

使用 iopzplot 可视化零极点位置及其协方差

h = iopzplot(sys1, sys2);
showConfidence(h)

输入参数

全部折叠

零极点增益模型,指定为 zpk 模型对象。

输出参量

全部折叠

零极点增益模型的零点,以元胞数组形式返回,其行数与输出数相同,列数与输入数相同。第 (i,j) 个条目 z{i,j} 是从输入 j 到输出 i 的传递函数的零点(列)向量。

零极点增益模型的极点,以元胞数组形式返回,其行数与输出数相同,列数与输入数相同。第 (i,j) 个条目 p{i,j} 是从输入 j 到输出 i 的传递函数的极点(列)向量。

零极点增益模型的增益,以矩阵形式返回,其行数与输出数相同,列数与输入数相同,使得 k(i,j) 是从输入 j 到输出 i 的传递函数的增益。如果 sys 是传递函数或状态空间模型,则会先使用 zpk 将其转换为零极点增益形式。

采样时间,指定为标量。

零点的协方差,以元胞数组形式返回,使得 covz{ky,ku} 包含有关向量 z{ky,ku} 中零点的协方差信息。covz{ky,ku} 是一个三维数组,维度为 2×2×Nz,其中 Nzz{ky,ku} 的长度,因此 (1,1) 元素是实部的方差,(2,2) 元素是虚部的方差,(1,2) 元素和 (2,1) 元素包含实部和虚部之间的协方差。

极点的协方差,以元胞数组形式返回,使得 covp{ky,ku} 包含有关向量 p{ky,ku} 中极点的协方差信息。covp{ky,ku} 是一个三维数组,维度为 2×2×Np,其中 Npp{ky,ku} 的长度,因此 (1,1) 元素是实部的方差,(2,2) 元素是虚部的方差,(1,2) 元素和 (2,1) 元素包含实部和虚部之间的协方差。

增益的协方差,以元胞数组形式返回,使得 covk{ky,ku} 包含有关向量 k{ky,ku} 中增益的协方差信息。covk{ky,ku} 是一个三维数组,维度为 2×2×Nk,其中 Nkk{ky,ku} 的长度,因此 (1,1) 元素是实部的方差,(2,2) 元素是虚部的方差,(1,2) 元素和 (2,1) 元素包含实部和虚部之间的协方差。

版本历史记录

在 R2006a 之前推出

另请参阅

| | |