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.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

This example shows how to examine the frequency response of a multi-input, multi-output (MIMO) system in two ways: by computing the frequency response, and by computing the singular values.

Calculate the frequency response of a MIMO model and examine the size of the output.

H = rss(2,2,2); H.InputName = 'Control'; H.OutputName = 'Temperature'; [mag,phase,w] = bode(H); size(mag)

ans = 2 2 70

The first and second dimension of the data array `mag`

are the number of outputs and inputs of `H`

. The third dimension is the number of points in the frequency vector `w`

. (The `bode`

command determines this number automatically if you do not supply a frequency vector.) Thus, `mag(i,j,:)`

is the frequency response from the `j`

th input of `H`

to the `i`

th output, in absolute units. The phase data array `phase`

takes the same form as `mag`

.

Plot the frequency response of each input/output pair in `H`

.

bode(H)

`bode`

plots the magnitude and the phase of the frequency response of each input/output pair in `H`

. (Because `rss`

generates a random state-space model, you might see different responses from those pictured.) The first column of plots shows the response from the first input, `Control(1)`

, to each output. The second column shows the response from the second input, `Control(2)`

, to each output.

Plot the singular values of `H`

as a function of frequency.

sigma(H)

`sigma`

plots the singular values of the MIMO system `H`

as a function of frequency. The maximum singular value at a particular frequency is the maximum gain of the system over all linear combinations of inputs at that frequency. Singular values can provide a better indication of the overall response, stability, and conditioning of a MIMO system than a channel-by-channel Bode plot.

Calculate the singular values of `H`

between 0.1 and 10 rad/s.

[sv,w] = sigma(H,{0.1,10});

When you call `sigma`

with output arguments, the command returns the singular values in the data array `sv`

. The cell array input `{0.1,10}`

tells `sigma`

to calculate the singular values at a grid of frequencies between 0.1 and 10 rad/s. `sigma`

returns these frequencies in the vector `w`

. Each row of `sv`

contains the singular values of `H`

at the frequencies of `w`

.

`bode`

| `bodeplot`

| `sigma`

| `sigmaplot`

Was this topic helpful?