Tutorials › Linear Algebra › State-Space Models for Discrete-Time Linear Systems

Applications of Diagonalization · Tutorial 581 of 1000

State-Space Models for Discrete-Time Linear Systems

Represent a discrete-time linear system with a state vector and transition matrix, then compute its successive states by repeated multiplication.

Intermediate 10 min read

What You'll Learn

  • Define the state and transition matrix for a discrete-time linear system.
  • Translate a matrix update into component-by-component equations.
  • Compute successive states from a given initial state.
  • Check an iteration by substituting it into the update rule.
  • Recognize why the order and column convention for state variables matter.

From a System to a State Vector

A discrete-time system changes at separate steps indexed by \(k=0,1,2,\dots\). To describe its evolution, we collect the quantities needed to specify the system at one step into a state vector. The update rule then takes the current state to the next one. When that rule is linear and does not change with \(k\), it can be written using one fixed matrix.

In this tutorial, the state vectors are columns in \(\mathbb{R}^n\), and the matrix entries are real. The integer \(k\) indicates the time step, not a matrix entry or a component of the state. The initial state is \(\mathbf{x}_0\); after one update the state is \(\mathbf{x}_1\), and so on.

Definition: A state-space model for a discrete-time linear system is an update rule $$ \mathbf{x}_{k+1}=\mathbf{A}\mathbf{x}_k,\qquad k=0,1,2,\dots, $$ where \(\mathbf{x}_k\in\mathbb{R}^n\) is the state at step \(k\), and the fixed matrix \(\mathbf{A}\in\mathbb{R}^{n\times n}\) is the transition matrix. Given an initial state \(\mathbf{x}_0\), the system produces its subsequent states by applying this rule repeatedly.

The components of \(\mathbf{x}_k\) are the chosen state variables. The matrix equation is a compact form of \(n\) scalar update equations: row \(i\) of \(\mathbf{A}\) gives the coefficients used to compute the \(i\)th component of the next state. Choosing a useful state means choosing variables that make the next state computable from the current one. The state need not include every quantity one could measure; it must include what is needed for the specified update.

For example, if \(\mathbf{x}_k=(r_k,s_k)^{\top}\) and \(\mathbf{A}=\begin{bmatrix}a&b\\c&d\end{bmatrix}\), then the matrix rule means \(r_{k+1}=ar_k+bs_k\) and \(s_{k+1}=cr_k+ds_k\). The first row determines the first new component, and the second row determines the second. This interpretation depends on using state vectors as columns and multiplying on the left by \(\mathbf{A}\).

Computing Successive States

Worked Example: A Two-Component System

Consider the system \(r_{k+1}=r_k+s_k\), \(s_{k+1}=r_k\), with initial values \(r_0=1\), \(s_0=2\). Write it as a state-space model and compute the states through step \(3\).

Choose the state \(\mathbf{x}_k=(r_k,s_k)^{\top}\). The coefficients in the two update equations give \(\mathbf{A}=\begin{bmatrix}1&1\\1&0\end{bmatrix}\), so the model is \(\mathbf{x}_{k+1}=\mathbf{A}\mathbf{x}_k\), with \(\mathbf{x}_0=\begin{bmatrix}1\\2\end{bmatrix}\). Apply the transition matrix one step at a time:

$$ \mathbf{x}_1= \begin{bmatrix}1&1\\1&0\end{bmatrix} \begin{bmatrix}1\\2\end{bmatrix} = \begin{bmatrix}1+2\\1\end{bmatrix} = \begin{bmatrix}3\\1\end{bmatrix}. $$
$$ \mathbf{x}_2= \begin{bmatrix}1&1\\1&0\end{bmatrix} \begin{bmatrix}3\\1\end{bmatrix} = \begin{bmatrix}3+1\\3\end{bmatrix} = \begin{bmatrix}4\\3\end{bmatrix}, \qquad \mathbf{x}_3= \begin{bmatrix}1&1\\1&0\end{bmatrix} \begin{bmatrix}4\\3\end{bmatrix} = \begin{bmatrix}4+3\\4\end{bmatrix} = \begin{bmatrix}7\\4\end{bmatrix}. $$

Check: the scalar rules give \((r_1,s_1)=(1+2,1)=(3,1)\), \((r_2,s_2)=(3+1,3)=(4,3)\), and \((r_3,s_3)=(4+3,4)=(7,4)\). These agree with all three matrix products.

This procedure is repeated matrix-vector multiplication: each new product uses the state just computed, not the initial state again. In particular, computing \(\mathbf{x}_2\) means multiplying \(\mathbf{A}\) by \(\mathbf{x}_1\). The first worked example also illustrates that the component equations can be read directly from the rows of the transition matrix.

Worked Example: A Three-Component System

Let \(\mathbf{x}_k=(p_k,q_k,r_k)^{\top}\) and suppose \(p_{k+1}=p_k+q_k\), \(q_{k+1}=q_k+r_k\), and \(r_{k+1}=r_k\). Starting from \(\mathbf{x}_0=(1,0,1)^{\top}\), compute through step \(3\).

Collecting the coefficients gives \(\mathbf{A}=\begin{bmatrix}1&1&0\\0&1&1\\0&0&1\end{bmatrix}\). For the first step,

$$ \mathbf{x}_1= \begin{bmatrix}1&1&0\\0&1&1\\0&0&1\end{bmatrix} \begin{bmatrix}1\\0\\1\end{bmatrix} = \begin{bmatrix}1+0+0\\0+0+1\\0+0+1\end{bmatrix} = \begin{bmatrix}1\\1\\1\end{bmatrix}. $$

For the next step, use \(\mathbf{x}_1\) as the input:

$$ \mathbf{x}_2= \begin{bmatrix}1&1&0\\0&1&1\\0&0&1\end{bmatrix} \begin{bmatrix}1\\1\\1\end{bmatrix} = \begin{bmatrix}1+1+0\\0+1+1\\0+0+1\end{bmatrix} = \begin{bmatrix}2\\2\\1\end{bmatrix}. $$

Then

$$ \mathbf{x}_3= \begin{bmatrix}1&1&0\\0&1&1\\0&0&1\end{bmatrix} \begin{bmatrix}2\\2\\1\end{bmatrix} = \begin{bmatrix}2+2+0\\0+2+1\\0+0+1\end{bmatrix} = \begin{bmatrix}4\\3\\1\end{bmatrix}. $$

Check: at step \(2\), the component rules give \(p_2=1+1=2\), \(q_2=1+1=2\), \(r_2=1\). At step \(3\), they give \(p_3=2+2=4\), \(q_3=2+1=3\), \(r_3=1\). These are exactly the components obtained by matrix multiplication.

Why the Iteration Is Determined by the Initial State

A state-space rule specifies a unique next state once the current state is known. Repeating the rule therefore determines each later state from \(\mathbf{x}_0\). The following result records this fact and gives a concise expression for the \(k\)th state. Here, powers of \(\mathbf{A}\) are defined by \(\mathbf{A}^0=\mathbf{I}_n\) and \(\mathbf{A}^{k+1}=\mathbf{A}\mathbf{A}^k\).

Theorem: Let \(\mathbf{A}\in\mathbb{R}^{n\times n}\) and \(\mathbf{x}_0\in\mathbb{R}^n\). The update rule \(\mathbf{x}_{k+1}=\mathbf{A}\mathbf{x}_k\) determines exactly one state at every step \(k\geq 0\), and that state is \(\mathbf{x}_k=\mathbf{A}^k\mathbf{x}_0\).

Proof. We prove the formula and uniqueness together by induction on \(k\). At \(k=0\), the state is the given \(\mathbf{x}_0\), and \(\mathbf{A}^0\mathbf{x}_0=\mathbf{I}_n\mathbf{x}_0=\mathbf{x}_0\). Suppose that at step \(k\) the state is uniquely determined and equals \(\mathbf{A}^k\mathbf{x}_0\). The update rule requires the next state to be \(\mathbf{A}\mathbf{x}_k\), so it has only one possible value. Substituting the induction hypothesis gives \(\mathbf{x}_{k+1}=\mathbf{A}(\mathbf{A}^k\mathbf{x}_0)=(\mathbf{A}\mathbf{A}^k)\mathbf{x}_0=\mathbf{A}^{k+1}\mathbf{x}_0\). Thus the next state is unique and has the stated form. Induction proves the result for every \(k\geq0\). \(\square\)

This formula describes repeated application of the transition matrix. It does not by itself give an efficient way to evaluate a large power; here, the direct procedure is to apply the one-step update successively. The result also makes precise why the initial state and transition matrix together determine the entire sequence.

Worked Example: A Different Initial State

Use the three-dimensional transition matrix from the previous example, but start from \(\mathbf{z}_0=(0,1,0)^{\top}\). Compute \(\mathbf{z}_1\) and \(\mathbf{z}_2\), and check them from the component rules.

The same transition matrix applies because the update rules have not changed:

$$ \mathbf{z}_1= \begin{bmatrix}1&1&0\\0&1&1\\0&0&1\end{bmatrix} \begin{bmatrix}0\\1\\0\end{bmatrix} = \begin{bmatrix}0+1+0\\0+1+0\\0+0+0\end{bmatrix} = \begin{bmatrix}1\\1\\0\end{bmatrix}. $$

Use this result as the input for the next update:

$$ \mathbf{z}_2= \begin{bmatrix}1&1&0\\0&1&1\\0&0&1\end{bmatrix} \begin{bmatrix}1\\1\\0\end{bmatrix} = \begin{bmatrix}1+1+0\\0+1+0\\0+0+0\end{bmatrix} = \begin{bmatrix}2\\1\\0\end{bmatrix}. $$

Check: the scalar update rules give \((p_1,q_1,r_1)=(0+1,1+0,0)=(1,1,0)\), then \((p_2,q_2,r_2)=(1+1,1+0,0)=(2,1,0)\). Both states agree with the matrix products. The transition matrix is unchanged; only the initial state differs.

Linearity of the State Update

Because matrix multiplication is linear, combining initial states in a fixed way combines their later states in the same way. This is useful when comparing responses from different starting configurations. The statement concerns systems with the same transition matrix; it does not claim that different transition matrices produce the same evolution.

Theorem: Suppose \(\mathbf{x}_{k+1}=\mathbf{A}\mathbf{x}_k\) and \(\mathbf{y}_{k+1}=\mathbf{A}\mathbf{y}_k\) use the same matrix \(\mathbf{A}\in\mathbb{R}^{n\times n}\). For any real scalars \(a,b\), the sequence \(\mathbf{w}_k=a\mathbf{x}_k+b\mathbf{y}_k\) also satisfies \(\mathbf{w}_{k+1}=\mathbf{A}\mathbf{w}_k\), with initial state \(\mathbf{w}_0=a\mathbf{x}_0+b\mathbf{y}_0\).

Proof. By the definition of \(\mathbf{w}_k\) and the update rules for \(\mathbf{x}_k\) and \(\mathbf{y}_k\), \(\mathbf{w}_{k+1}=a\mathbf{x}_{k+1}+b\mathbf{y}_{k+1}=a\mathbf{A}\mathbf{x}_k+b\mathbf{A}\mathbf{y}_k\). Distributivity of matrix multiplication gives \(\mathbf{w}_{k+1}=\mathbf{A}(a\mathbf{x}_k+b\mathbf{y}_k)=\mathbf{A}\mathbf{w}_k\). At \(k=0\), the definition gives \(\mathbf{w}_0=a\mathbf{x}_0+b\mathbf{y}_0\). This proves both claims. \(\square\)

Common Pitfall: Reversing the State Convention

The order of components matters. In the first example, the state was \(\mathbf{x}_k=(r_k,s_k)^{\top}\), so the first row of \(\mathbf{A}\) calculated \(r_{k+1}\) and the second row calculated \(s_{k+1}\). If instead the state is ordered as \(\widetilde{\mathbf{x}}_k=(s_k,r_k)^{\top}\), using the old matrix without changing it is a mistake. For instance, with the initial values \(r_0=1,s_0=2\), the reversed state is \(\widetilde{\mathbf{x}}_0=\begin{bmatrix}2\\1\end{bmatrix}\). The incorrect calculation would be

$$ \begin{bmatrix}1&1\\1&0\end{bmatrix} \begin{bmatrix}2\\1\end{bmatrix} = \begin{bmatrix}3\\2\end{bmatrix}. $$

But the actual next state in the reversed order should be \((s_1,r_1)^{\top}=(1,3)^{\top}\), since \(s_1=r_0=1\) and \(r_1=r_0+s_0=3\). The correction is to derive the matrix for the new ordering from the equations: \(s_{k+1}=r_k\) and \(r_{k+1}=r_k+s_k\). Thus \(\widetilde{\mathbf{x}}_{k+1}=\begin{bmatrix}0&1\\1&1\end{bmatrix}\widetilde{\mathbf{x}}_k\), and multiplying this matrix by \(\begin{bmatrix}2\\1\end{bmatrix}\) gives \(\begin{bmatrix}1\\3\end{bmatrix}\). Always match each matrix row to the component it is supposed to update.

A reliable setup has three parts: state the ordered list of variables in the state vector, write one equation for each component at the next step, and read the corresponding coefficients into the matrix rows. After computing a state, check it either by multiplying the transition matrix by the previous state or by substituting into each component equation.

Check Your Understanding

Use the state-vector convention and show the intermediate matrix-vector products.

  1. For \(\mathbf{A}=\begin{bmatrix}2&1\\0&1\end{bmatrix}\) and \(\mathbf{x}_0=\begin{bmatrix}1\\2\end{bmatrix}\), compute \(\mathbf{x}_1\) and \(\mathbf{x}_2\).
  2. Write the component equations for \(\mathbf{x}_{k+1}=\begin{bmatrix}1&-1\\2&0\end{bmatrix}\mathbf{x}_k\), where \(\mathbf{x}_k=(u_k,v_k)^{\top}\).
  3. For the three-dimensional system in the second worked example, compute \(\mathbf{x}_1\) from \(\mathbf{x}_0=(0,2,1)^{\top}\) and check each component.
  4. Explain why a different ordering of state components generally requires a different transition matrix.
  5. In the linearity theorem, identify the shared hypothesis about the two state sequences and indicate where it is used in the proof.

Test yourself: Linear Algebra final exam practice

Ready to check what you know? Work a full-length practice final, then open the complete worked solutions.

Want all 1,114 practice problems?

This tutorial covers one topic. Calc Pass covers the full Calculus AB & BC curriculum (the core of Calculus I and II): full review, every practice question, and step-by-step solutions to each one.

QR code to download the Calc Pass app

Get the Calc Pass App

Scan to download and practice on the go, with instant scoring.

Calc Pass Volume 1: 1,114 Practice Questions book cover

Vol. 1: 1,114 Questions

The complete practice question bank, organized by AB & BC topic.

View on Amazon
Calc Pass Volume 2: Solutions Manual book cover

Vol. 2: Solutions Manual

Fully worked solutions to every question in Volume 1.

View on Amazon