Converting differential equations to State-Space/Transfer Function representation
Mostra commenti meno recenti
I'm trying to solve some Control Systems questions, but having trouble with a few of them:

Basically, the question asks for the state-space representation of each system.
I used odeToVectorField for systems a and b:
syms y(t) u(t) t
yd = diff(y);
ydd = diff(y, 2);
yddd = diff(y, 3);
EQD = ydd + 3*yd + y == u
[SS, Sbs] = odeToVectorField(EQD)
EQD2 = yddd + 5*ydd + 8*yd + 12*y == u
[SS2, Sbs2] = odeToVectorField(EQD2)
from which I can get the state-space representation.
But when I get to the other systems (for example, system f), it gets trickier, and most of the systems can't even be solved using odeToVectorField.
syms y(t) u(t) t
yd = diff(y);
ydd = diff(y, 2);
yddd = diff(y, 3);
yi = int(y, 0, t);
ud = diff(u);
EQD = ydd + 2*yd + y + yi == ud + 5*u
[SS, Sbs] = odeToVectorField(EQD)
Is there an easier way to get the state-space representation (or transfer function) directly from the differential equations? And how can I do the same for the more complex differential equations (like f and g, for example)?
Thank you
Risposta accettata
Più risposte (1)
Samim Unlusoy
il 22 Dic 2022
0 voti
The following approach may be useful. State equations for the classical ordinary matrix differential equations
[M]{yddot} + [C]{ydot} + [K]{y} = [F]{q}
are given by:
[0] [I] [0]
{xdot} = [A]{x} + [B]{u] = {x} + {u}
-inv[M] [K] -inv[M] [C] inv[M] [C]
Categorie
Scopri di più su Calculus in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





