feat: changes to presentation
This commit is contained in:
parent
54801d18f0
commit
b27d39562d
1 changed files with 8 additions and 16 deletions
24
doc/pres.typ
24
doc/pres.typ
|
|
@ -51,14 +51,6 @@
|
||||||
#set raw(syntaxes: "zelus.sublime-syntax")
|
#set raw(syntaxes: "zelus.sublime-syntax")
|
||||||
#show raw: set text(font: "CaskaydiaCove NF")
|
#show raw: set text(font: "CaskaydiaCove NF")
|
||||||
|
|
||||||
#let rbrace(in-block, out-block, out-width: auto, ..args) = {
|
|
||||||
math.lr([
|
|
||||||
#in-block
|
|
||||||
$mid(})$
|
|
||||||
#block(width: out-width, out-block)
|
|
||||||
])
|
|
||||||
}
|
|
||||||
|
|
||||||
= Executing Hybrid Systems
|
= Executing Hybrid Systems
|
||||||
|
|
||||||
Henri Saudubray
|
Henri Saudubray
|
||||||
|
|
@ -152,7 +144,7 @@ Solution: simulate assertions with their own solver.
|
||||||
|
|
||||||
Nodes take an additional reset parameter `'p` for their reset function:
|
Nodes take an additional reset parameter `'p` for their reset function:
|
||||||
|
|
||||||
#align(horizon)[
|
#align(top)[
|
||||||
#grid(columns: (3fr, 2fr), align: (left, left),
|
#grid(columns: (3fr, 2fr), align: (left, left),
|
||||||
```ocaml
|
```ocaml
|
||||||
type ('p, 'a, 'b) dnode =
|
type ('p, 'a, 'b) dnode =
|
||||||
|
|
@ -205,7 +197,7 @@ Hybrid nodes are a bit more complex:
|
||||||
|
|
||||||
== ODE solvers
|
== ODE solvers
|
||||||
|
|
||||||
#slide(self => [
|
#slide(repeat: 3, self => [
|
||||||
#let (uncover, only) = utils.methods(self)
|
#let (uncover, only) = utils.methods(self)
|
||||||
|
|
||||||
ODE solvers are discrete nodes producing streams of functions defined on
|
ODE solvers are discrete nodes producing streams of functions defined on
|
||||||
|
|
@ -245,7 +237,7 @@ Hybrid nodes are a bit more complex:
|
||||||
size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5),
|
size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5),
|
||||||
y-tick-step: none, y-label: none, y-min: 0, y-max: 6,
|
y-tick-step: none, y-label: none, y-min: 0, y-max: 6,
|
||||||
x-tick-step: none, x-label: none, x-min: 0, x-max: 5,
|
x-tick-step: none, x-label: none, x-min: 0, x-max: 5,
|
||||||
x-ticks: ((2, ""), (4, ""), (5, $h, h'$)), {
|
x-ticks: ((2, ""), (4, ""), (5, $h', h$)), {
|
||||||
add(domain: (4, 5), t => calc.sin(t) + t, label: $u$)
|
add(domain: (4, 5), t => calc.sin(t) + t, label: $u$)
|
||||||
add(domain: (0, 4), t => calc.sin(t) + t)
|
add(domain: (0, 4), t => calc.sin(t) + t)
|
||||||
}))
|
}))
|
||||||
|
|
@ -254,7 +246,7 @@ Hybrid nodes are a bit more complex:
|
||||||
|
|
||||||
== Zero-crossing solvers
|
== Zero-crossing solvers
|
||||||
|
|
||||||
#slide(self => [
|
#slide(repeat: 3, self => [
|
||||||
#let (uncover, only) = utils.methods(self)
|
#let (uncover, only) = utils.methods(self)
|
||||||
|
|
||||||
Zero-crossing solvers are discrete nodes too, looking for zero-crossings on
|
Zero-crossing solvers are discrete nodes too, looking for zero-crossings on
|
||||||
|
|
@ -282,7 +274,7 @@ Hybrid nodes are a bit more complex:
|
||||||
size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5),
|
size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5),
|
||||||
y-tick-step: none, y-label: none, y-min: -2, y-max: 5,
|
y-tick-step: none, y-label: none, y-min: -2, y-max: 5,
|
||||||
x-tick-step: none, x-label: none, x-min: 0, x-max: 2,
|
x-tick-step: none, x-label: none, x-min: 0, x-max: 2,
|
||||||
x-ticks: ((2/3, $h, h'$),), {
|
x-ticks: ((2/3, $h', h$),), {
|
||||||
add(domain: (0, 2/3), t => t * t - 1, label: "u")
|
add(domain: (0, 2/3), t => t * t - 1, label: "u")
|
||||||
}))
|
}))
|
||||||
only(2, plot(
|
only(2, plot(
|
||||||
|
|
@ -297,7 +289,7 @@ Hybrid nodes are a bit more complex:
|
||||||
size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5),
|
size: (10, 4.5), axis-style: "school-book", legend: (9, 4.5),
|
||||||
y-tick-step: none, y-label: none, y-min: -2, y-max: 5,
|
y-tick-step: none, y-label: none, y-min: -2, y-max: 5,
|
||||||
x-tick-step: none, x-label: none, x-min: 0, x-max: 2,
|
x-tick-step: none, x-label: none, x-min: 0, x-max: 2,
|
||||||
x-ticks: ((2, $h, h'$),), {
|
x-ticks: ((2, $h', h$),), {
|
||||||
add(domain: (1, 2), t => t * t - 1, label: "u")
|
add(domain: (1, 2), t => t * t - 1, label: "u")
|
||||||
add(domain: (0, 1), t => t * t - 1)
|
add(domain: (0, 1), t => t * t - 1)
|
||||||
}))
|
}))
|
||||||
|
|
@ -694,8 +686,8 @@ progressively.
|
||||||
)
|
)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
Combined with in-place state modifications and resets, this could hinder
|
Combined with in-place state modifications, resets and composition, this could
|
||||||
performance.
|
hinder performance.
|
||||||
|
|
||||||
== State copies
|
== State copies
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue