Dimensions, Size, and Shape of an LTI Array

I/O and Array Dimensions of LTI Arrays

The dimensions and size of a single LTI model are determined by the output and input channels. An array of LTI models has additional quantities that determine its dimensions, size, and shape.

There are two sets of dimensions associated with LTI arrays:

The size of the LTI array is determined by:

The next figure illustrates the concepts of dimension and size for the LTI array m2d, a 2-by-3 array of one-input, two-output transfer function models.

Dimensions and Size of m2d, an LTI Array

You can load this sample LTI array into your workspace by typing

load LTIexamples
size(m2d)
2x3 array of continuous-time transfer functions
Each transfer function has 2 outputs and 1 input.

The I/O dimensions correspond to the row and column dimensions of the transfer matrix. The two I/O dimensions are both of length 1 for SISO models. For MIMO models the lengths of these dimensions are given by the number of outputs and inputs of the model.

Five related quantities are pertinent to understanding the array dimensions:

In the example model m2d,:

Accessing the Dimensions of an LTI Array Using size and ndims

You can access the dimensions and shape of an LTI array using

When applied to an LTI array, size returns

[Ny Nu S1 S2 ... Sk]

where

Note the following when using the size function:

The function ndims returns the total number of dimensions in an LTI array:

Note that

ndims (sys) = length(size(sys))

To see how these work on the sample 2-by-3 LTI array m2d of two-output, one-input models, type

load LTIexamples
s = size(m2d)
s =
     2     1     2     3

Notice that size returns a vector whose entries correspond to the length of each of the four dimensions of m2d: two outputs and one input in a 2-by-3 array of models. Type

ndims(m2d)
ans =
     4

to see that there are indeed four dimensions attributed to this LTI array.

Using reshape to Rearrange an LTI Array

Use reshape to reorganize the arrangement (array configuration) of the models of an existing LTI array.

For example, to arrange the models in an LTI array sys as a array, type

reshape(sys,w1,...,wp)

where w1,...,wp are any set of integers whose product is N, the number of models in sys.

You can reshape the LTI array m2d into a 3-by-2, a 6-by-1, or a 1-by-6 array using reshape. For example, type

load LTIexamples
sys = reshape(m2d,6,1);
size(sys)

6x1 array of continuous-time transfer functions
Each transfer function has 2 outputs and 1 inputs.

s = size(sys)

s =
     2     1     6 1
  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS