Main Content

Singular value plot of dynamic system

`sigma(`

plots the singular values of the
frequency response of a dynamic system model
`sys`

)`sys`

. `sigma`

automatically determines frequencies
to plot based on system dynamics.

If `sys`

is a single-input, single-output (SISO) model, then the
singular value plot is similar to its Bode magnitude response.

If `sys`

is a multi-input, multi-output (MIMO) model with
`Nu`

inputs and `Ny`

outputs, then the singular value
plot shows `min(Nu,Ny)`

lines on the plot corresponding to each singular
value of the frequency response matrix. For MIMO systems, the singular value plot extends
the Bode magnitude response and is useful in robustness analysis.

If `sys`

is a model with complex coefficients, then in:

Log frequency scale, the plot shows two branches, one for positive frequencies and one for negative frequencies. The plot also shows arrows to indicate the direction of increasing frequency values for each branch. See Singular Value Plot of Model with Complex Coefficients.

Linear frequency scale, the plot shows a single branch with a symmetric frequency range centered at a frequency value of zero.

`sigma(___,`

plots singular
values of the system response for frequencies specified by `w`

)`w`

.

If

`w`

is a cell array of the form`{wmin,wmax}`

, then`sigma`

plots the response at frequencies ranging between`wmin`

and`wmax`

.If

`w`

is a vector of frequencies, then`sigma`

plots the response at each specified frequency. The vector`w`

can contain both negative and positive frequencies.

You can use `w`

with any of the input-argument combinations in
previous syntaxes.

`sigma(___,`

plots the
modified singular value responses based on the `type`

)`type`

argument. Specify
`type`

as:

`1`

to plot the singular values of the frequency response*H*, where^{-1}*H*is the frequency response of`sys`

.`2`

to plot the singular values of the frequency response*I+H*.`3`

to plot the singular values of the frequency response*I+H*.^{-1}

You can only use the `type`

argument for *square
systems*, that is, systems that have the same number of inputs and
outputs.

`[`

returns the singular values of the response at each frequency in the vector
`sv`

,`wout`

]
= sigma(`sys`

)`wout`

. The output `sv`

is a matrix, and the value
`sv(:,k)`

gives the singular values in descending order at the
frequency `wout(k)`

. The function automatically determines frequencies in
`wout`

based on system dynamics. This syntax does not draw a
plot.

When you need additional plot customization options, use

`sigmaplot`

instead.

`sigma`

uses the MATLAB^{®} function `svd`

to compute the singular values of the complex
frequency response.

For an

`frd`

model,`sigma`

computes the singular values of`sys.ResponseData`

at the frequencies,`sys.Frequency`

.For continuous-time

`tf`

,`ss`

, or`zpk`

models with transfer function*H*(*s*),`sigma`

computes the singular values of*H*(*j**ω*) as a function of the frequency*ω*.For discrete-time

`tf`

,`ss`

, or`zpk`

models with transfer function*H*(*z*) and sample time*T*,_{s}`sigma`

computes the singular values of$$H\left({e}^{j\omega {T}_{s}}\right)$$

for frequencies

*ω*between 0 and the Nyquist frequency*ω*= π/_{N}*T*._{s}