State Space modelling from an ODE
14 views (last 30 days)
Show older comments
Teanna Mills
on 15 Mar 2019
Commented: Star Strider
on 12 Dec 2019
How would I find the state variable description and transfer function of the 3rd order system of the following on MATLAB?

0 Comments
Accepted Answer
Star Strider
on 15 Mar 2019
The easiest way is to let the Symbolic Math Toolbox do the heavy lifting:
syms y(t) u(t) t
Dy = diff(y);
D2y = diff(y,2);
D3y = diff(y,3);
DEq = D3y + 6*D2y + 11*Dy + 6*y == 6*u;
[SS,Sbs] = odeToVectorField(DEq)
producing:
SS =
Y[2]
Y[3]
6*u(t) - 6*Y[1] - 11*Y[2] - 6*Y[3]
Sbs =
y
Dy
D2y
The ‘Sbs’ output simply tells you the substitutions the solver made, so for example ‘Y[1]=y’.
I’m sure you can take it from there.
2 Comments
jokn buntue
on 12 Dec 2019
Can you please explain how to convert the results of odeToVectorField to the A,B,C,D matrices?
Thanks.
Star Strider
on 12 Dec 2019
@jokn buntue — The ‘SS’ matrix is essentially a companion-form matrix, so eliminating the ‘6*u(t)’ term, it is the ‘A’ matrix. The ‘6*u(t)’ term becomes part of the ‘B’ matrix (vector here, since this is a SISO system).
That should get you started.
More Answers (1)
djedoui Nassim
on 15 Mar 2019
Hey
You can follow this mathematical changement using your example,

0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!