Documentation

## MIMO Transfer Functions

MIMO transfer functions are two-dimensional arrays of elementary SISO transfer functions. There are two ways to specify MIMO transfer function models:

• Concatenation of SISO transfer function models

• Using tf with cell array arguments

### Concatenation of SISO Models

Consider the following single-input, two-output transfer function.

$H\left(s\right)=\left[\begin{array}{c}\frac{s-1}{s+1}\\ \frac{s+2}{{s}^{2}+4s+5}\end{array}\right].$

You can specify H(s) by concatenation of its SISO entries. For instance,

h11 = tf([1 -1],[1 1]);
h21 = tf([1 2],[1 4 5]);

or, equivalently,

s = tf('s')
h11 = (s-1)/(s+1);
h21 = (s+2)/(s^2+4*s+5);

can be concatenated to form H(s).

H = [h11; h21]

This syntax mimics standard matrix concatenation and tends to be easier and more readable for MIMO systems with many inputs and/or outputs.

### Tip

Use zpk instead of tf to create MIMO transfer functions in factorized form.

### Using the tf Function with Cell Arrays

Alternatively, to define MIMO transfer functions using tf, you need two cell arrays (say, N and D) to represent the sets of numerator and denominator polynomials, respectively. See What Is a Cell Array? (MATLAB) for more details on cell arrays.

For example, for the rational transfer matrix H(s), the two cell arrays N and D should contain the row-vector representations of the polynomial entries of

$N\left(s\right)=\left[\frac{s-1}{s+2}\right],\text{ }D\left(s\right)=\left[\frac{s+1}{{s}^{2}+4s+5}\right].$

You can specify this MIMO transfer matrix H(s) by typing

N = {[1 -1];[1 2]};   % Cell array for N(s)
D = {[1 1];[1 4 5]}; % Cell array for D(s)
H = tf(N,D)
Transfer function from input to output...
s - 1
#1:  -----
s + 1

s + 2
#2:  -------------
s^2 + 4 s + 5

Notice that both N and D have the same dimensions as H. For a general MIMO transfer matrix H(s), the cell array entries N{i,j} and D{i,j} should be row-vector representations of the numerator and denominator of Hij(s), the ijth entry of the transfer matrix H(s).