BlockWerk 文档
📋

Lookup Table

Math

具有线性插值的一维查找表(1-D Lookup Table)。通过一组断点(breakpoints)和对应的表格数据,将输入值映射为输出值。

在 BlockWerk 中仿真

浏览器即开即用的交互式仿真环境 — 无需安装,由 WebAssembly 强力驱动。

在 BlockWerk 中仿真 →

数学模型

给定断点 x₀ < x₁ < ... < xₙ 以及表格数据 y₀, y₁, ..., yₙ:

y=yi+(yi+1−yi)x−xixi+1−xiy = y_i + (y_{i+1} - y_i) \frac{x - x_i}{x_{i+1} - x_i}

外推规则(Extrapolation):

  • clip:若 x < x₀ 则输出 y₀,若 x > xₙ 则输出 yₙ
  • linear:沿最近区间的插值斜率进行线性外推

输入与输出

Direction ID Label 类型 Status
→ In in In number Required
← Out out Out number Output

参数

参数 Label 类型 默认值 描述
breakpoints Breakpoints text 0 1 2 3
tableData Table Data hidden 0 1 4 9
interpolation Interpolation select linear
extrapolation Extrapolation select clip

使用示例

对于断点 0 1 2 3 和表格数据 0 1 4 9:

  • 输入 0.5 → 输出 0.5(在 0 与 1 之间插值)
  • 输入 1.5 → 输出 2.5(在 1 与 4 之间插值)
  • 输入 5.0(clip 模式)→ 输出 9(截断为最大端点值)
  • 输入 5.0(linear 模式)→ 输出 19(线性外推)

说明与最佳实践

  • 断点单调性:断点必须严格单调递增;非单调断点会导致未定义结果。
  • 数据长度匹配:表格数据长度必须与断点长度完全一致。
  • 外推模式 — clip:对大多数工业仿真更安全;防止输出漂移出标定范围。
  • 外推模式 — linear:当已知系统在端点之外仍具有线性变化规律时非常有用。
  • 性能:基于二分法查找,时间复杂度为 O(log n);即使包含成千上万个断点依然高效。

相关模块