{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nSeveral formal models of hybrid systems are in use; a common one is the hybrid automaton.\nA *hybrid automaton* with continuous state space $\\R^n$ consists of the following data.\n\n1. A finite set $Q$ of discrete states, called modes.\n2. For each mode $q \\in Q$, a [[vector field|0299VCW1TH]] $f_q \\colon \\R^n \\to \\R^n$ and a set $D_q \\subseteq \\R^n$, the domain of $q$.\n3. A set $E \\subseteq Q \\times Q$ of edges, that is, allowed mode switches.\n4. For each edge $e \\in E$, a guard $G_e \\subseteq \\R^n$ and a reset map $R_e$ that gives a nonempty set $R_e(x) \\subseteq \\R^n$ for each $x \\in G_e$.\n5. A set $\\mathrm{Init} \\subseteq Q \\times \\R^n$ of initial states.\n\nAn *execution* is a finite or infinite sequence of intervals $[\\tau_0, \\tau_0'], [\\tau_1, \\tau_1'], \\ldots$ with $\\tau_i' = \\tau_{i+1}$.\nOn the interval $[\\tau_i, \\tau_i']$ it has a mode $q_i$ and a curve $x_i$ that solves $x' = f_{q_i}(x)$ and stays in $D_{q_i}$.\nThe start satisfies $(q_0, x_0(\\tau_0)) \\in \\mathrm{Init}$.\nAt each switch, $e = (q_i, q_{i+1}) \\in E$, $x_i(\\tau_i') \\in G_e$ and $x_{i+1}(\\tau_{i+1}) \\in R_e(x_i(\\tau_i'))$.\nA *hybrid system* is a system modelled by such data, or by an equivalent formalism with flows and jumps.\n\n## Remarks\n\nThe discrete part alone is a finite-state machine, and the continuous part in one mode is an [[ordinary differential equation|0NT64JV96A]].\nExample: the bouncing ball has one mode and the state $x = (h, v)$ of height and velocity.\nIts vector field is $f(h, v) = (v, -g)$ with $g \u003e 0$, and its domain is $h \\ge 0$.\nIt has one edge from the mode to itself, with guard $\\set{h = 0, v \\le 0}$ and reset $R(0, v) = \\set{(0, -c v)}$, where $0 \\le c \u003c 1$.\nBetween impacts the ball follows a parabola, and each impact multiplies its speed by $c$.\nFor $0 \u003c c \u003c 1$ the impacts accumulate at a finite time; this Zeno behaviour has no analogue for ordinary differential equations.\nNon-example: data with infinitely many modes, one for each integer, fail clause 1, which asks for a finite set of modes; such models need a more general framework.\n",
  "commit": "5fc425f97f1f6b11da5892c2948ef8c5d8805665",
  "front": {
    "defines": "1EW58ZYR8Y",
    "kind": "definition",
    "msc": [
      "34A38",
      "93C30"
    ],
    "name": "Hybrid system",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Hybrid_system"
      }
    ],
    "tag": "JBJJHSW72S",
    "uses": [
      "0299VCW1TH",
      "0NT64JV96A",
      "03CPD1HGF3"
    ]
  },
  "kind": "definition",
  "link": "https://math2.tamnd.com/node/JBJJHSW72S/",
  "links": [
    {
      "field": "defines",
      "target": "1EW58ZYR8Y"
    },
    {
      "field": "uses",
      "target": "0299VCW1TH"
    },
    {
      "field": "uses",
      "target": "0NT64JV96A"
    },
    {
      "field": "uses",
      "target": "03CPD1HGF3"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/JBJJHSW72S.md",
  "msc": [
    "34A38",
    "93C30"
  ],
  "name": "Hybrid system",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/JBJ/JBJJHSW72S.md",
  "status": null,
  "tag": "JBJJHSW72S",
  "uri": "m2://JBJJHSW72S",
  "url": "https://math2.tamnd.com/wiki/hybrid-system-definition/",
  "writing": {
    "tag": "JBJJHSW72S",
    "kind": "definition",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
