Datalens.ai
← All algorithms

NUMERICAL

odeint

Integrate a system of ordinary differential equations.

Example of usage

Solve a first-order decay ODE over the assay timestamps.

Usage / limitations

+Use when: Compute approximations and solve equations.

−Limitations: Check input requirements, mathematical assumptions and version-specific behaviour before using.

Mathematical formula

See method documentation: implementation and assumptions vary.
Sample dataShow
{
  "variable": "observations",
  "domain": "Laboratory sensor signal integration",
  "feature_names": [
    "minute",
    "fluorescence_au"
  ],
  "records": [
    {
      "minute": 0,
      "fluorescence_au": 1.0
    },
    {
      "minute": 1,
      "fluorescence_au": 2.0
    },
    {
      "minute": 2,
      "fluorescence_au": 5.0
    },
    {
      "minute": 3,
      "fluorescence_au": 10.0
    },
    {
      "minute": 4,
      "fluorescence_au": 17.0
    },
    {
      "minute": 5,
      "fluorescence_au": 26.0
    },
    {
      "minute": 6,
      "fluorescence_au": 37.0
    },
    {
      "minute": 7,
      "fluorescence_au": 50.0
    },
    {
      "minute": 8,
      "fluorescence_au": 65.0
    }
  ]
}

Code example (Python)

# DataLens.ai example — odeint
# Domain: laboratory sensor measurements and numerical analysis.
# Sample input is supplied by the Copy input + code + test action.
import numpy as np
from scipy import integrate, special
# Read a labelled time-series from the sample input.
t = np.array([row["minute"] for row in observations["records"]], dtype=float)
y = np.array([row["fluorescence_au"] for row in observations["records"]], dtype=float)

# Compute the method-specific result and check a numerical property.
from scipy.integrate import odeint
# First-order decay of assay fluorescence, in minutes.
solution = odeint(lambda state, minute: -0.4 * state, [10.0], t).ravel()
assert np.allclose(solution, 10*np.exp(-0.4*t), atol=1e-6)
print("Expected output verified")