This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Convert zero-pole-gain filter parameters to transfer function form


[b,a] = zp2tf(z,p,k)


zp2tf forms transfer function polynomials from the zeros, poles, and gains of a system in factored form.

[b,a] = zp2tf(z,p,k) finds a rational transfer function


given a system in factored transfer function form


Column vector p specifies the pole locations, and matrix z specifies the zero locations, with as many columns as there are outputs. The gains for each numerator transfer function are in vector k. The zeros and poles must be real or come in complex conjugate pairs. The polynomial denominator coefficients are returned in row vector a and the polynomial numerator coefficients are returned in matrix b, which has as many rows as there are columns of z.

Inf values can be used as place holders in z if some columns have fewer zeros than others.


collapse all

Compute the transfer function of a damped mass-spring system that obeys the differential equation

The measurable quantity is the acceleration, , and is the driving force. In Laplace space, the system is represented by

The system has unit gain, a double zero at , and two complex-conjugate poles.

z = [0 0]';
p = roots([1 0.01 1])
p = 
  -0.0050 + 1.0000i
  -0.0050 - 1.0000i

k = 1;

Use zp2tf to find the transfer function.

[b,a] = zp2tf(z,p,k)
b = 

     1     0     0

a = 

    1.0000    0.0100    1.0000


The system is converted to transfer function form using poly with p and the columns of z.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

See Also

| | | | |

Introduced before R2006a

Was this topic helpful?