State Space modelling from an ODE
34 次查看(过去 30 天)
显示 更早的评论
How would I find the state variable description and transfer function of the 3rd order system of the following on MATLAB?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/208581/image.png)
0 个评论
采纳的回答
Star Strider
2019-3-15
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 个评论
jokn buntue
2019-12-12
Can you please explain how to convert the results of odeToVectorField to the A,B,C,D matrices?
Thanks.
Star Strider
2019-12-12
@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.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!