Greetings.
I would like to know if it’s possible, in ControlSystems.jl, to reach an MIMO system through an array of TransferFunctions.
Let’s suppose that we have a matrix H, which is related to a Y = H*U, where Y is a vector of outputs, and U is a vector of inputs. If Y{2,1} and U{2,1},H is H{2,2} (assuming that curly brackets refers to dimension).
Therefore, H can be stated as 4 transfer functions, each one related to H11, H12, H21 and H22. In this way, my intent is to create a matrix that can be stated as a “transfer function matrix”, and later, be converted to a StateSpace system.
H11 = tf([1,0],[1,2,3,4])
H12 = tf([2,0],[1,2,3,4])
H21 = tf([3,0],[1,2,3,4])
H22 = tf([4,0],[1,2,3,4])
H = Matrix{TransferFunction}(undef,2,2)
H[1,1] = H11
H[1,2] = H12
H[2,1] = H21
H[2,2] = H22
And then, i would like to do the following:
dampreport(H)
And, then, finding the poles of the system. But dampreport dont understand H as a MIMO transfer function, and instead, as a matrix (which really is, but i expected that it would be automatic to be a MIMO).
I know the fact that documentation provides the reference that MIMO systems should be implemented as an array of vectors, but this didn’t worked for me. But idk if i understand what i should understand as an “array of vectors”. (Constructors · ControlSystems.jl) An example of MIMO TF would be very welcomed.
I should use Transfer Functions because i only have the coefficients for them.
However, i would like to complement this question: if it’s possible to use a z^-1 format for discrete transform, instead of the standard z.
This might be a noob question, and idk if i should post in “New in Julia”.