NUMERICAL
cumulative_trapezoid
Cumulatively integrate y(x) using the composite trapezoidal rule.
Example of usage
Cumulative trapezoidal area under an assay trace.
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)
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}]}
# DataLens.ai example — cumulative_trapezoid
# 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.
result = integrate.cumulative_trapezoid(y, x=t, initial=0)
assert result.shape == t.shape and np.isclose(result[0],0) and np.all(np.diff(result)>0)
print("Expected output verified")
# DataLens.ai example — cumulative_trapezoid
# 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.
result = integrate.cumulative_trapezoid(y, x=t, initial=0)
assert result.shape == t.shape and np.isclose(result[0],0) and np.all(np.diff(result)>0)
print("Expected output verified")