Published
Edited
May 25, 2022
1 fork
1 star
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// model_result = rk4(
// ([s, i, r], t) => [-b * s * i, b * s * i - k * i, k * i],
// [1, 1.27 * 10 ** -6, 0],
// 0,
// 0,
// 150,
// 1000
// )

model_result = rk4(
function([s, i, r], t) {
let c1 = 0.8;
let c2 = 1.2;
if (t < 50) {
return [-b * s * i, b * s * i - k * i, k * i];
} else {
return [-c1 * b * s * i, c1 * b * s * i - c2 * k * i, c2 * k * i];
}
},
[1, 1.27 * 10 ** -6, 0],
0,
0,
150,
1000
)
Insert cell
Insert cell
import { slider } from "@jashkenas/inputs"
Insert cell
dot = require("@observablehq/graphviz@0.2")
Insert cell
// Fork of '@kjerandp/plotter'
import { plotter } from '50dadfdec01c15a8'
Insert cell
import { rk4 } from '@mcmcclur/runge-kutta-for-systems-of-odes'
Insert cell
d3 = require('d3@6', 'd3-graphviz@2')
Insert cell
MathJax = require('https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js').catch(
() => window['MathJax']
)
Insert cell
dot`digraph G {
node001 [label = "A"]
node002 [label = "A"]
node001 -> node002
}
`
Insert cell
// d3
// .select(g)
// .select('#node3')
// .append(() => MathJax.tex2svg(String.raw`I_1`).querySelector("svg"))
Insert cell
{
let g = dot`digraph {
S -> E -> I_1 -> I_2 -> I_3 -> D
I_1 -> R
I_2 -> R
I_3 -> R;
rankdir="LR";}`;
let graph_svg = d3.select(g);
let Y = parseInt(
graph_svg
.select('g')
.attr('transform')
.split(' ')
.slice(-1)[0]
);
for (let i = 1; i <= 7; i++) {
let text = graph_svg.select(`#node${i}`).select('text');
let x = text.attr('x');
let y = text.attr('y');
let tex_group = graph_svg
.append('g')
.attr('id', 'thetex2')
.attr(
'transform',
`translate(${x - 2} ${parseFloat(y) + Y - 10}) scale(0.9)`
)
.append(() =>
MathJax.tex2svg(String.raw`${text.text()}`).querySelector("svg")
);
text.remove();
}

return g;
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more