how i can find the number of state variables?
Show older comments
Hello, I have mimo system with 13 inputs,and 4 outputs.
How I can find the number of state variables?
Answers (1)
Altaïr
on 16 Apr 2025
Here's a helpful image from MATLAB's documentation for a MIMO state-space system:
System Equation:

Image:

To view the image and learn more about MIMO state-space models, use the following command in the MATLAB command window:
web(fullfile(docroot, 'control/ug/mimo-state-space-models.html'))
From the image, it's clear that the number of inputs and outputs determines the number of columns in matrix B and the number of rows in matrix C, respectively. The number of states corresponds to the number of rows in A and the number of columns in C. While the inputs and outputs are fixed, there's flexibility in the number of states. Establishing a relation between inputs and outputs through the system's governing equations will help identify the minimum number of variables required to define the system completely, which are considered the states. The same reasoning also applies to a non-linear system.
For instance, consider the 6DOF (Euler Angles) block:
web(fullfile(docroot, 'aeroblks/6dofeulerangles.html'))
This block takes forces and moments as inputs and provides several variables as outputs, but has exactly 12 states (Xe, Ye, Ze, U, v, w, phi, theta, psi, p, q, r) as outlined in the State Attributes section of the documentation page.

3 Comments
Sam Chak
on 16 Apr 2025
Hi @Altaïr
If the governing equations of the system are known, we can certainly determine the number of state variables.
Are there methods to estimate the number of state variables in a black-box system when only the number of inputs and outputs is known?
More specifically, could you indicate which MATLAB function to use to estimate the order of the system, which corresponds to the number of independent state variables in a state-space representation?
Well, the number of inputs and outputs alone does not provide enough information to determine the number of states in a system. However, if input and output data from the black-box system can be collected, System Identification techniques such as n4sid and ssest can be applied to fit a linear model, while functions like nlhw can be used for nonlinear systems. Once a model is estimated from the data, it is then possible to infer an approximate number of states present in the original black-box system.
Categories
Find more on Communications Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!