# 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

collapse all

### Zero Locations and Gain of Transfer Function

Calculate the zero locations and overall gain of the transfer function $H\left(s\right)=\frac{4.2{s}^{2}+0.25s-0.004}{{s}^{2}+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`.