1
$\begingroup$

I'm new in Control system and in Mathematica too.

res1 is the state space as follows

res1 = StateSpaceModel[{m1 y''[t] + b1 y'[t] + c1 y[t] == 
F[t]}, {{y[t], 0}, {y'[t], 0}}, {{F[t], 0}}, {y[t]}, t]

the result is correct, then it switch to tranfer function with

x1 = TransferFunctionModel[res1, s]

This is OK too. But when i try switch it back to space state with

StateSpaceModel[x1]

the result it not the same as res1. Thank you for explanation(sorry for bad english..)

$\endgroup$

1 Answer 1

3
$\begingroup$

The state-space representation is not unique, because the choice of states are not unique. (This is like saying that 3 could be expressed as 1+1+1, 2+1, etc). You could try to force the state-space realization to be the same by explicitly specifying it.

The following will give the same realization:

StateSpaceModel[{m1 y''[t] + b1 y'[t] + c1 y[t] == 
F[t]}, {{y[t], 0}, {y'[t], 0}}, {{F[t], 0}}, {y[t]}, t, 
StateSpaceRealization -> "Controllable"]

StateSpaceModel[TransferFunctionModel[res1, s], 
StateSpaceRealization -> "Controllable"]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.