Model system by zeropolegain transfer function
Simulink / Continuous
The ZeroPole block models a system that you define with the zeros, poles, and gain of a Laplacedomain transfer function. This block can model singleinput singleoutput (SISO) and singleinput multipleoutput (SIMO) systems.
The ZeroPole block assumes the following conditions:
The transfer function has the form
$$H(s)=K\frac{Z(s)}{P(s)}=K\frac{(sZ(1))(sZ(2))\dots (sZ(m))}{(sP(1))(sP(2))\dots (sP(n))},$$
where Z represents the zeros, P the poles, and K the gain of the transfer function.
The number of poles must be greater than or equal to the number of zeros.
If the poles and zeros are complex, they must be complexconjugate pairs.
For a multipleoutput system, all transfer functions must have the same poles. The zeros can differ in value, but the number of zeros for each transfer function must be the same.
You cannot use a ZeroPole block to model a multipleoutput system when the transfer functions have a differing number of zeros or a single zero each. Use multiple ZeroPole blocks to model such systems.
For a singleoutput system, the input and the output of the block are scalar timedomain signals. To model this system:
Enter a vector for the zeros of the transfer function in the Zeros field.
Enter a vector for the poles of the transfer function in the Poles field.
Enter a 1by1 vector for the gain of the transfer function in the Gain field.
For a multipleoutput system, the block input is a scalar and the output is a vector, where each element is an output of the system. To model this system:
Enter a matrix of zeros in the Zeros field.
Each column of this matrix contains the zeros of a transfer function that relates the system input to one of the outputs.
Enter a vector for the poles common to all transfer functions of the system in the Poles field.
Enter a vector of gains in the Gain field.
Each element is the gain of the corresponding transfer function in Zeros.
Each element of the output vector corresponds to a column in Zeros.
The ZeroPole block displays the transfer function depending on how you specify the zero, pole, and gain parameters.
If you specify each parameter as an expression or a vector, the block shows the transfer function with the specified zeros, poles, and gain. If you specify a variable in parentheses, the block evaluates the variable.
For example, if you specify Zeros as [3,2,1]
,
Poles as (poles)
, where
poles
is [7,5,3,1]
, and
Gain as gain
, the block looks
like this.
If you specify each parameter as a variable, the block
shows the variable name followed by (s)
if appropriate.
For example, if you specify Zeros as zeros
,
Poles as poles
, and
Gain as gain
, the block looks
like this.
Data Types 

Direct Feedthrough 

Multidimensional Signals 

VariableSize Signals 

ZeroCrossing Detection 
