Ibrahim Ahmed

Electrical Engineering @ Vanderbilt University

Modern control: Solutions & state transition matrices

Monday, Sep 24, 2018 | 2 min read
Categories: Engineering,
Tags: Matlab, Control Systems,
The state equation for a linear time-invariant system: $$ x’(t) = A x(t) + B u(t) $$ Can be solved for $x(t)$. We collect all terms in $x$: $$ x’(t) - A x(t) = B u(t) $$ Multiply equation by $e^{-At}$ $$ x’(t) e^{-At} - A x(t) e^{-At} = B u(t) e^{-At} $$ Using product rule $d(f;g) = f;dg + g;df$, where: To give: $$ \frac{d}{dt} (e^{-At} x(t)) = B u(t) e^{-At} $$

Modern control: State space equations

Monday, Sep 24, 2018 | 3 min read
Categories: Engineering,
Tags: Matlab, Control Systems,
In modern control approaches, systems are analyzed in time domain as a set of differential equations. Higher order differential equations are decomposed into sets of first order equations of state variables that represent the system internally. This produces three sets of variables: Input variables are stimuli given to the system. Denoted by $u$. Output variables are the result of the current system state and inputs. Denoted by $y$. State variables represent the internal state of a system which may be obscured in the output variables.

Classical control: Transfer functions

Friday, Sep 21, 2018 | 4 min read
Categories: Engineering,
Tags: Matlab, Control Systems,
A transfer function relates the output of a system to its input when it is represented in the Laplace domain. An assumption is made that initial steady-state response is 0. If $Y(s)$ is the output of a system, $X(s)$ is the input, then the transfer function is: $$ H(s) = \frac{Y(s)}{X(s)} $$ Example - A Car A car as a system: The input is the acceleration. The output is the total distance travelled.

Classical control: Transforms

Monday, Sep 10, 2018 | 4 min read
Categories: Engineering,
Tags: Control Systems,
Classical control methods simplify handling of a complex system by representing it in a different domain. The equations governing system dynamics are transformed into a different set of variables. A for a function $f(t)$ in the $t$ domain, an oft used transformation is of the form: $$ \mathcal{T}(f(t)) = F(s) = \int_{Domain} f(t) \cdot g(s, t); dt $$ Mathematically, the integral removes the $t$ variable and only leaves $s$, thus converting from the $t$ domain to the $s$ domain.

Control Systems: Overview

Monday, Sep 10, 2018 | 4 min read
Categories: Engineering,
Tags: Matlab,
A primer for classical control theory.


Aug 2018
Agents for reinforcement learning based control.


May 2018
Firefox add-on to toggle member-only posts on Medium.com

Hugo and Jupyter Notebooks

Monday, Apr 30, 2018 | 2 min read
Categories: Developer,
Tags: Hugo, Web Development,
Hugo is a static site generator. It takes a bunch of markdown files and renders them to HTML. It is fast and simple. Jupyter Notebooks are an interactive front-end for python (with support for other languages too). They execute code, display its output, and render markdown all in a browser window. The notebooks are a neat compilation of formatted code and text generated as HTML. I use Hugo for my site.


Mar 2018
A simple neural network library with minimal dependencies.

Escaping Echochambers

Friday, Oct 20, 2017 | 11 min read
Categories: Machine Learning,
Tags: Machine Learning, Principal Component Analysis, Visualization,
The echochamber effect is a worrisome issue in social media. It risks isolating users in exclusive groups as they repeatedly subscribe to content that reinforces their biases. To keep users engaged, websites expose users to content similar to their history. You will get recommendations for movies you may like, or peoply you may befriend, or communities you may join - all based on some measure of similarity with your profile.