# Modern Control Normally speaking, we know much about classical control, in the form of: $$ \dot{x}(t) = ax(t) + bu(t) \longleftrightarrow sX(s) - x(0) = aX(S) + bU(s) $$ With the left part being a derivative equation in continuous time, while the right being its tranformation in the complex domain field. > [!NOTE] > > $$ > \dot{x}(t) = ax(t) + bu(t) \longleftrightarrow x(k+1) = ax(k) + bu(k) > $$ > > These are equivalent, but the latter one is in discrete time. > ## A brief recap over Classical Control Be $Y(s)$ our `output variable` in `classical control` and $U(s)$ our `input variable`. The associated `transfer function` $G(s)$ is: $$ G(s) = \frac{Y(s)}{U(s)} $$ ### Root Locus ### Bode Diagram ### Nyquist Diagram ## State Space Representation ### State Matrices A state space representation has 4 Matrices: $A, B, C, D$ with coefficients in $\R$: - $A$: State Matrix `[x_rows, x_columns]` - $B$: Input Matrix `[x_rows, u_columns]` - $C$: Output Matrix `[y_rows, x_columns]` - $D$: Direct Coupling Matrix `[y_rows, u_columns]` $$ \begin{cases} \dot{x}(t) = Ax(t) + Bu(t) \;\;\;\; \text{Dynamic of the system}\\ y(t) = C{x}(t) + Du(t) \;\;\;\; \text{Static of the outputs} \end{cases} $$ This can be represented with the following diagrams: Continuous Time: ![continuous state space diagram](..\Images\Modern-Control\state-space-time.png) --- Discrete time: ![discrete state space diagram](..\Images\Modern-Control\state-space-discrete.png) ### State Vector This is a state vector `[x_rows, 1]`: $$ x(t) = \begin{bmatrix} x_1(t)\\ \dots\\ x_x(t) \end{bmatrix} \text{or} \: x(k) = \begin{bmatrix} x_1(k)\\ \dots\\ x_x(k) \end{bmatrix} $$ Basically, from this we can know each next step of the state vector, represented as: $$ x(k + 1) = f\left( x(k), u(k) \right) = Ax(k) + Bu(k) $$ ### Case Studies - PAGERANK - Congestion Control - Video Player Control - Deep Learning