选择查找表的指南
数据集维度
在某些情况下,数据集的维度决定了哪些查找表块适合您的应用程序。如果你正在逼近一个一维函数,考虑使用一维查找表或动态查找表块。如果你在逼近一个二维函数,考虑二维查找表块。块,例如n-D查找表而且直接查找表(n-D)允许你近似一个函数N变量。
数据集数值和数据类型
数据集的数值和数据类型会影响查找表块最合适的决策。尽管所有查找表块都支持实数,但是金宝app直接查找表(n-D),一维查找表,二维查找表,n-D查找表块还支持复杂的表数据。金宝app所有查找表块都支持整数和定点数据金宝app双
而且单
数据类型。
请注意
对于直接查找表(n-D)块,表数据、输出端口和可选的表输入端口支持定点类型。金宝app
数据的准确性和平滑性
查找表返回的数据所需的准确性和平滑性决定了应该使用哪一个块。大多数块提供了执行插值和外推的选项,分别提高了介于表数据之间或表数据之外的值的准确性。例如,动态查找表块执行线性插值和外推,而n-D查找表块执行线性,三次样条插值和外推,或Akima样条插值和外推。相比之下,直接查找表(n-D)块执行表查找,而不进行任何插值或外推。方法可以实现插值和外推方法的混合Prelookup块使用预查找的插值块。
表输入的动态
查找表输入的动态影响查找表块中哪一个最适合您的应用程序。这些块使用各种索引搜索方法将查找表输入与表的断点数据集关联起来。大多数查找表块提供二进制搜索算法,如果输入从一个时间步骤到下一个时间步骤发生显著变化,则该算法会执行得很好。的一维查找表,二维查找表,n-D查找表,Prelookup块提供了一个线性搜索算法。在输入变化缓慢的情况下,使用该算法和从前一个结果恢复搜索的选项可以很好地执行。一些查找表块还提供了一种搜索算法,它最适合于由均匀间隔的断点组成的断点数据集。方法可以实现多种索引搜索方法的组合Prelookup块使用预查找的插值块。
绩效效率
当查找表操作的效率非常重要时,考虑使用Prelookup块使用预查找的插值块。这些块将表查找过程分为两个部分——将输入与表数据联系起来的索引搜索,然后是计算输出的插值和外推阶段。这些块使您能够执行单个索引搜索,然后重用结果来查找多个表中的数据。此外,使用预查找的插值块可以执行子表选择,其中块插入表数据的一部分,而不是整个表。例如,如果您的3-D表数据构成要插值的2-D表的堆栈,那么您可以指定一个选择端口输入,从堆栈中选择一个或多个2-D表进行插值。全三维插补有7个子插补,而二维插补只需要3个子插补。因此,当表的某些维度用于数据堆叠而不是用于插值时,可能会显著提高速度。这些特性提高了表查找操作的效率,减少了计算工作量和模拟时间。
查阅表块特性摘要
使用下表识别与特定查找表块对应的特性,然后选择最符合您的需求的块。
功能 | 一维查找表 | 二维查找表 | 动态查找表 | n-D查找表 | 直接查找表(n-D) | Prelookup | 使用预查找的插值 |
---|---|---|---|---|---|---|---|
插值方法 | |||||||
平 | • | • | • | • | • | ||
最近的 | • | • | • | • | |||
线性 | • | ||||||
线性点斜式 | • | • | • | • | |||
线性拉格朗日 | • | • | • | • | |||
三次样条 | • | • | • | ||||
Akima花键 | • | • | • | ||||
外推方法 | |||||||
剪辑 | • | • | • | • | • | • | |
线性 | • | • | • | • | • | • | |
三次样条 | • | • | • | ||||
Akima花键 | • | • | |||||
数字和数据类型支持金宝app | |||||||
复杂的 | • | • | • | • | |||
双、单 | • | • | • | • | • | • | • |
整数 | • | • | • | • | • | • | • |
不动点 | • | • | • | • | • | • | • |
索引查询方法 | |||||||
二进制 | • | • | • | • | • | ||
线性 | • | • | • | • | |||
均匀间隔的点 | • | • | • | • | • | ||
从上一个索引开始 | • | • | • | • | |||
杂项 | |||||||
子表的选择 | • | • | |||||
动态断点数据 | • | ||||||
动态表数据 | • | • | • | ||||
输入范围检查 | • | • | • | • | • | • |