zero

Zeros and gain of SISO dynamic system

Syntax

z = zero(sys)
[z,gain] = zero(sys)
[z,gain] = zero(sysarr,J1,...,JN)

Description

z = zero(sys) returns the zeros of the single-input, single-output (SISO) dynamic system model, sys.

[z,gain] = zero(sys) also returns the overall gain of sys.

[z,gain] = zero(sysarr,J1,...,JN) returns the zeros and gain of the model with subscripts J1,...,JN in the model array sysarr.

Input Arguments

sys

SISO dynamic system model.

If sys has internal delays, zero sets all internal delays to zero, creating a zero-order Padé approximation. This approximation ensures that the system has a finite number of zeros. zero returns an error if setting internal delays to zero creates singular algebraic loops.

sysarr

Array of dynamic system models.

J1,...,JN

Indices identifying the model sysarr(J1,...,JN) in the array sysarr.

Output Arguments

z

Column vector containing the locations of zeros in sys. The zero locations are expressed in the reciprocal of the time units of sys. For example, the zeros are in units of 1/minutes if the TimeUnit property of sys is minutes.

gain

Gain of sys (in the zero-pole-gain sense).

Examples

expand all

Zero Locations and Gain of Transfer Function

Calculate the zero locations and overall gain of the transfer function H(s)=4.2s2+0.25s0.004s2+9.6s+17.

H = tf([4.2,0.25,-0.004],[1,9.6,17]);
[z,gain] = zero(H)
z =

   -0.0726
    0.0131


gain =

    4.2000

The zero locations are expressed in radians per second, because the time unit of the transfer function (H.TimeUnit) is seconds. Change the model time units, and zero returns pole locations relative to the new unit.

H = chgTimeUnit(H,'minutes');
[z,gain] = zero(H)
z =

   -4.3581
    0.7867


gain =

    4.2000

Alternatives

To calculate the transmission zeros of a multi-input, multi-output system, use tzero.

See Also

| |

Was this topic helpful?