| Control System Toolbox Function Reference | |
Quick access to zero-pole-gain data
Syntax
[z,p,k] = zpkdata(sys) [z,p,k] = zpkdata(sys,'v') [z,p,k,Ts,Td] = zpkdata(sys)
Description
[z,p,k] = zpkdata(sys)
returns the zeros z, poles p, and gain(s) k of the zero- pole-gain model sys. The outputs z and p are cell arrays with the following characteristics:
z and p have as many rows as outputs and as many columns as inputs.(i,j) entries z{i,j} and p{i,j} are the (column) vectors of zeros and poles of the transfer function from input j to output i.The output k is a matrix with as many rows as outputs and as many columns as inputs such that k(i,j) is the gain of the transfer function from input j to output i. If sys is a transfer function or state-space model, it is first converted to zero-pole-gain form using zpk. See Table 11-15, "LTI Properties," on page 11-194 for more information on the format of state-space model data.
For SISO zero-pole-gain models, the syntax
[z,p,k] = zpkdata(sys,'v')
forces zpkdata to return the zeros and poles directly as column vectors rather than as cell arrays (see example below).
[z,p,k,Ts,Td] = zpkdata(sys)
also returns the sample time Ts and the input delay data Td. For continuous-time models, Td is a row vector with one entry per input channel (Td(j) indicates by how many seconds the jth input is delayed). For discrete-time models, Td is the empty matrix [] (see d2d for delays in discrete systems).
You can access the remaining LTI properties of sys with get or by direct referencing, for example,
sys.Tssys.inputname
Example
Given a zero-pole-gain model with two outputs and one input
H = zpk({[0];[-0.5]},{[0.3];[0.1+i 0.1-i]},[1;2],-1)
Zero/pole/gain from input to output...
1
#1: -------
(z-0.3)
2 (z+0.5)
#2: -------------------
(z^2 - 0.2z + 1.01)
Sampling time: unspecified
you can extract the zero/pole/gain data embedded in H with
[z,p,k] = zpkdata(H)
z =
[ 0]
[-0.5000]
p =
[ 0.3000]
[2x1 double]
k =
1
2
To access the zeros and poles of the second output channel of H, get the content of the second cell in z and p by typing
z{2,1}
ans =
-0.5000
p{2,1}
ans =
0.1000+ 1.0000i
0.1000- 1.0000i
See Also
get Get properties of LTI models
ssdata Quick access to state-space data
tfdata Quick access to transfer function data
zpk Specify zero-pole-gain models
![]() | zpk |