Lemonergy · Studio block

Causal first-order hold

Reconstructs a linear signal from the latest two captured samples.

Implementation ID
native-linear-hold
Reviewed
2026-10-27

Behavior

y(t) = latest_sample + (t − latest_tick) × (latest_sample − previous_sample)/period. The worked example connects this operation to signals in Lemonergy Studio.

Interface

Causal first-order hold interfaceInputs or arguments on the left, observed outputs on the right. Conserving terminals appear below the component. The tables give units and behavior.Causal first-order holdStudio blockin0out0
Original Lemonergy interface view. Lines identify ports; they are not a completed simulation circuit.
Ports and observed outputs
NameDirectionUnitMeaning
in0input1Input; real scalar.
out0output1Linear reconstruction; real scalar.

Parameters

Defaults are initial model values. Select values for your own model and operating conditions.

Configuration fields
ParameterUnitDefaultMeaning and limits
Sample period
params[0]
s0.1Captures at simulation start plus whole periods, then extrapolates the last measured slope.
Initial fallback
tables[0]
1[0]Configured coefficients or initial values in column-major order.

Equations and rules

  • y(t) = latest_sample + (t − latest_tick) × (latest_sample − previous_sample)/period

Worked example

Causal first-order hold — worked example

Input = 5. Linear reconstruction at 0 s = 5.

Open Studio example after release →
Numerical checks for the bundled synthetic example
OutputTime (s)Expected valueUnitAbsolute tolerance
Linear reconstruction
out0
0511e-08

Explore the recorded outputs

Causal first-order hold recorded example

Causal first-order hold
Causal first-order hold against timeRecorded synthetic simulation values. Time in seconds; output in —.4.504.750.2550.55.250.755.51—Time (s)
Causal first-order hold: 5 — at 0 s

11 actual recorded samples. Lines are visual guides between samples. Synthetic example, not measured cell data.

Download the recorded samples (JSON) · Open this Studio example after release

Use in a workflow

Causal first-order hold — worked example

Reconstructs a linear signal from the latest two captured samples.

  1. Causal first-order hold: y(t) = latest_sample + (t − latest_tick) × (latest_sample − previous_sample)/period. The worked example connects this operation to signals in Lemonergy Studio.
    • Use the block reference for settings and connections.
    • Implementation tested locally; public release pending.
Open Studio example after release

Connected concepts

Limits and interpretation

  • Causal linear extrapolation from the latest two samples at simulation-start-relative ticks; initial slope zero. Capture uses pre-commit graph inputs; no future-sample interpolation.
  • Shapes and element types are explicit. Values must be finite; automatic reshaping and unit conversion are not performed.

Scientific and mathematical references

These sources explain the scientific and mathematical background. The behavior, interface and limits above define the Lemonergy implementation; a citation does not imply every model option in the source is implemented.

  1. NIST Digital Library of Mathematical Functions, §3.3 Interpolation

    National Institute of Standards and Technology

    Technical reference · Interpolation formulas, including linear interpolation equation 3.3.14.

Implementation sources

This reference follows the public interface and locally verified numerical checks for an upcoming release.

Contract: Lemonergy Studio public contract · Verification record: verification-2026-10-27

  • docs/glossary/native-block-verification.json

This implementation and its workflow uses (JSON) · Knowledge graph (JSON-LD)