模块简介
所在库:Simulink -> Lookup Tables
说明:这3个模块的功能是一样的,区别是默认的表数据维度不同。
插值算法
默认的算法是线性算法:
输出方式
内插算法
有四种:
当输入位于两个断点值之间时,模块将根据相邻断点内插输出值。大多数查找表模块提供了以下内插方法:
-
“
Flat
” - 禁用插值,并使用名为 “Use Input Below
” 的舍入操作。有关详细信息,请参阅 舍入方法。 -
“
Nearest
” - 禁用内插,并返回与最接近输入的断点对应的表值。如果输入与两个相邻断点之间的距离相等,则选择索引值较大的断点。 -
“
Linear
” - 在相邻断点之间拟合一条线,并返回该线条上与输入对应的点。 -
“
Cubic spline
” - 在相邻断点之间拟合一条三次样条曲线,并返回该样条曲线上与输入对应的点。
外插算法
有三种:
-
“
Clip
” - 禁用外插,并返回与断点数据集范围的端点对应的表数据。此方法对超出范围的值无任何保证。 -
“
Linear
” - 如果插值方法为 “Linear
”,此外插方法将在第一对断点间或最后一对断点间拟合一条线,具体取决于输入是小于第一个断点还是大于最后一个断点。如果插值方法为 “Cubic spline
”,此外插方法将使用插值函数在第一个或最后一个断点处的斜率来拟合一个线性曲面,具体取决于输入是小于第一个断点还是大于最后一个断点。外插方法将返回生成的线性曲面上与输入对应的点。 -
“
Cubic spline
” - 对第一对或最后一对断点拟合一条三次样条曲线,具体取决于输入是小于第一个断点还是大于最后一个断点。此方法将返回该样条曲线上与输入对应的点。
舍入方法
如果某个输入在两个断点值之间或者超出断点数据集的范围,而您未指定内插或外插,则模块会将该值舍入到临近的断点,并返回对应的输出值。例如,Lookup Table Dynamic 模块允许您选择以下舍入方法之一:
-
“
Use Input Nearest
” - 返回与最接近的输入值对应的输出值。 -
“
Use Input Below
” - 返回与小于输入值的紧邻断点值对应的输出值。如果输入值下面没有任何断点值,则返回最接近输入值的断点值。 -
“
Use Input Above
” - 返回与大于输入值的紧邻断点值对应的输出值。如果输入值上面没有任何断点值,则返回最接近输入值的断点值。
Index search method
- 计算表索引的方法
有三种:等间距点、线性搜索、二分搜索。
选择 Evenly spaced points
、Linear search
或 Binary search
。每一种搜索方法在不同的情况下均有各自的速度优势。
参考资料
逼近 N 维函数
1-D、2-D 和 n-D Lookup Table 模块计算一个函数的 N 变量采样表示形式
https://ww2.mathworks.cn/help/simulink/slref/ndlookuptable.html
估算缺失点的方法
内插方法、外插方法、舍入方法
https://ww2.mathworks.cn/help/simulink/ug/methods-for-estimating-missing-points.html