Skip to main content
Engineering LibreTexts

1.9: State Variable Models

  • Page ID
    17749
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    State variable models are time-domain models that express system behavior as time derivatives of a set of state variables. The state variables are often the natural variables associated with the energy storage elements appearing the system. The system order equals the number of such elements in the system.

    In the case of electrical circuits, capacitor voltage and inductor currents serve as natural state variables. In the case of mechanical systems modeled with inertial elements, position and velocity of the inertial mass serve as natural state variables. In thermal systems, heat flow is a natural state variable. In hydraulic systems, the head (height of the liquid in the reservoir) is a natural state variable.

    The state equations of the system model describe the time derivates of the state variables. When the state equations are linear, they are expressed in a vector-matrix form.

    Example 1.14: Series RLC circuit

    The governing equation of a series RLC circuit driven by a constant voltage source, \(V_{s}\), with mesh current used as the circuit variable is given as (Example 1.6): \[L\frac

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[2]/span, line 1, column 1
    
    \] The circuit contains two energy storage elements: an inductor and a capacitor. Accordingly, let the inductor current, \(i(t)\), and the capacitor voltage, \(v_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[4]/span, line 1, column 1
    
    (t)\)
    , serve as state variables for the circuit. The state equations represent time derivatives of the state variables, expressed as: \[C\frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[5]/span[1], line 1, column 1
    
    -v_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[5]/span[2], line 1, column 1
    
    -Ri.\]
    We may note that the right hand sides expressions in both equations contain state and input variables. In vector-matrix form, these equations are given as: \[\frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[6]/span[1], line 1, column 1
    
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[6]/span[2], line 1, column 1
    
    .\]
    Let \(v_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[7]/span, line 1, column 1
    
    \)
    denote the RLC circuit output; then, an output equation is formed as: \[v_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[8]/span[1], line 1, column 1
    
    =\left[\begin{array}{cc} {1} & {0} \end{array}\right]\left[\begin{array}{c} {v_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[5]/span[8]/span[2], line 1, column 1
    
    } \\ {i} \end{array}\right].\]

    Example 1.15: The mass–spring–damper system

    The dynamic equation of the mass–spring–damper system is given as: \[m\frac{{\rm d}^{2} x(t)}{{\rm d}t^{2} } +b\frac{{\rm d}x(t)}{{\rm d}t} +kx(t)=f(t).\] Let the mass position, \(x(t)\), and the mass velocity, \(v(t)=\dot{x}(t)\) serve as state variables, and let \(x(t)\) be the output variable. The resulting state variable model of the mass-spring-damper system is given in terms of the state and output equations represented in matrix form as: \[\frac

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[7]/span[5]/span, line 1, column 1
    
    {{\rm d}t} \left[\begin{array}{c} {x} \\ {v} \end{array}\right]=\left[\begin{array}{cc} {0} & {1} \\ {-k/m} & {-b/m} \end{array}\right]\left[\begin{array}{c} {x} \\ {v} \end{array}\right]+\left[\begin{array}{c} {0} \\ {1/m} \end{array}\right]f, x=\left[\begin{array}{cc} {1} & {0} \end{array}\right]\left[\begin{array}{c} {x} \\ {v} \end{array}\right].\]

    Example 1.16: The DC motor model

    The dynamic equations for the DC motor are given as: \[L\frac

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[1]/span[1], line 1, column 1
    
    (t)+k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[1]/span[2], line 1, column 1
    
    \omega (t)=V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[1]/span[3], line 1, column 1
    
    (t).\] \[J\frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[2]/span[1], line 1, column 1
    
    i_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[2]/span[2], line 1, column 1
    
    (t)=0.\]
    Let \(i_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[3]/span, line 1, column 1
    
    (t),\; \omega (t)\)
    serve as the state variables and let \(\omega (t)\) be the output variable; then, the state variable model of the DC motor is given as: \[\frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[5]/span[1], line 1, column 1
    
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[5]/span[2], line 1, column 1
    
    . \omega =\left[\begin{array}{cc} {0} & {1} \end{array}\right]\left[\begin{array}{c} {i_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[5]/span[3], line 1, column 1
    
    } \\ {\omega } \end{array}\right].\]
    For a small DC motor, let \(R=1\Omega ,\; L=1\; {\rm m}H,\; \; J=0.01\; {\rm k}g{\rm m}^
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[6]/span[1], line 1, column 1
    
    ,\; b=0.1\; \frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[6]/span[2], line 1, column 1
    
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[6]/span[3], line 1, column 1
    
    =k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[6]/span[4], line 1, column 1
    
    =0.05\)
    . Then, the state variable model of the motor is given as: \[\frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[7]/span[1], line 1, column 1
    
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[7]/span[2], line 1, column 1
    
    , \omega =\left[\begin{array}{cc} {0} & {1} \end{array}\right]\left[\begin{array}{c} {i_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[9]/span[7]/span[3], line 1, column 1
    
    } \\ {\omega } \end{array}\right].\]

    Example 1.17: A bandpass RLC network

    The state variables for a bandpass RLC network (Example 10) are selected as the capacitor voltage \(v_C\) and inductor curret \(i_L\). The resulting state equations are given as: \[C\frac{dv_C}{dt}=\frac{V_s-v_C}{R}-i_L,\ \ L\frac{di_L}{dt}=v_C\] Using capacitor voltage \(v_C\) as output the equations are presented in the vector-matrix form as: \[\frac

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[11]/span[5]/span[1], line 1, column 1
    
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[11]/span[5]/span[2], line 1, column 1
    
    . v_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[11]/span[5]/span[3], line 1, column 1
    
    =\left[\begin{array}{cc} {1} & {0} \end{array}\right]\left[\begin{array}{c} {v_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.09:_State_Variable_Models), /content/body/p[11]/span[5]/span[4], line 1, column 1
    
    } \\ {i} \end{array}\right].\]

    We note that the choice of state variables for a system model is not unique, i.e. alternate state variables can be selected to model system behavior as long as the total number of variables stays the same. For example, we may use position and momentum in place of position and velocity as state variables in a mechanical system model.


    1.9: State Variable Models is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

    • Was this article helpful?