In post #9 you said that there could be as many outputs as you like. Is this also applicable to number of inputs? Or, the number of inputs are dependent upon the system. Kindly help me with this. Thank you.
Typically, the number of inputs is determined by the system, but not always. You are always free to define more inputs as needed to create any output you like. A good example would be piping an input signal directly to an output even though that input signal is not needed in the state equations. This might seem a strange thing to do at first, but sometimes it is convenient to do this.
Basically, we have total freedom to be creative here. The B, C and D matrices allow any number of input signals and any number of output signals. It's just a matter of defining those inputs and outputs and putting some numbers in for the matrix elements.
Let's give a simple example.
d x1/dt=x1+x2 +u
d x2/dt=x2+2u
Here, A=[1 1; 0 1], B=[1; 2]
Now, lets decide to use the states directly as outputs. This means that C=[1 0; 0 1] and D=[0;0].
This is a very typical situation.
However, nothing in the state space equations prevent me from doing the following.
Here, A=[1 1; 0 1], B=[1 0; 2 0], C=[1 0; 0 1; 0 0] and D=[0 0; 0 0; 0 1]
All I've done here is defined a new input signal and then directed it to be an output signal.
Also, nothing in the state space equations prevent me from doing the following.
Here, A=[1 1; 0 1], B=[1 0 0; 2 0 0], C=[1 0; 0 1; 0 0] and D=[0 0 0; 0 0 0; 0 1 1]
All I've done here is define two new inputs and created one output which is the sum of these two new inputs.
Note that in defining these matrices, I'm using Matlab syntax where the semicolon (; ) is used to separate the rows in the matrix.