Skip to main content
Engineering LibreTexts

1.3: Solving First-Order ODE Models

  • Page ID
  • \( \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}}\)

    The response of a first-order ODE to a step forcing function with given initial conditions can be obtained with the help of the Laplace Transform. Accordingly, we consider the generic first-order ODE model: \(\tau \frac{dy\left(t\right)}{dt}+y\left(t\right)=u(t)\), and apply Laplace transform assuming an initial condition \(y\left(0\right)=y_0\), to obtain: \[\tau \left(sy\left(s\right)-y_0\right)+y(s)=u(s)\] Next, assuming a unit step input \(u\left(t\right)\), where \(u\left(s\right)=\frac{1}{s}\), the output is solved as: \[y\left(s\right)=\frac{1}{s\left(\tau s+1\right)}+\frac{\tau y_0}{\tau s+1}\] We may use partial fraction expansion (PFE) to express the output as: \[y\left(s\right)=\frac{1}{s}-\frac{\tau }{\tau s+1}+\frac{\tau y_0}{\tau s+1}\] After applying the inverse Laplace transform, we obtain the time-domain solution to the ODE as: \[y\left(t\right)=\left[1+\left(y_0-1\right)e^{-t/\tau }\right]u\left(t\right)\] The \(u\left(t\right)\) in the above expression represents a unit step function, that is used to represent causality, i.e., the output is valid for \(t\ge 0\).

    The steady-state value of the system response is denoted as: \(y_{\infty }={\mathop{\mathrm{lim}}_{t\to \infty } y(t)\ }\). In terms of the steady-state output, the step response of the first-order ODE model is given as: \[y\left(t\right)=\left[y_{\infty }+\left(y_0-y_{\infty }\right)e^{-t/\tau }\right]u\left(t\right)\] Assuming zero initial conditions, i.e., \(y_0=0\), the output of the system is expressed as: \[y\left(t\right)=\left(1-e^{-t/\tau }\right)u\left(t\right)\] The output at the selected times, \(t=k\tau ,\ \ k=0,1,\dots\) are compiled in the following table:

    Time Output value
    0 \(y\left(0\right)=0\)
    1\(\tau\) \(1-e^{-1}\cong 0.632\)
    2\(\tau\) \(1-e^{-2}\cong 0.865\)
    3\(\tau\) \(1-e^{-3}\cong 0.950\)
    4\(\tau\) \(1-e^{-4}\cong 0.982\)
    5\(\tau\) \(1-e^{-5}\cong 0.993\)

    image3 By convention, the model output is assumed to have reached steady-state when the output attains 98% of its final value. Hence, the settling time of the system is given as: \(t_s=4\tau\). The output for \(\tau =1sec\) is plotted in Figure 6.

    Figure 6: Output of a first-order system model to a unit-step input.

    1.3: Solving First-Order ODE Models is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

    • Was this article helpful?