查找表数据的特征

断点数据集和表数据的大小

以下约束适用于与查找表块相关的断点数据集和表数据的大小:

  • 系统的内存限制限制了查找表的总体大小。

  • 查询表必须使用一致的维,以便表数据的总体大小反映每个断点数据集的大小。

为了说明第二个约束,考虑在图中创建关系的输入和输出值的以下向量。

输入值向量:[-3 -2 -1 0 1 2 3]输出值向量:[-3 -1 0 -1 0 1 3]

在本例中,输入和输出数据大小相同(1乘7),这使得数据在一维查找表中的维数一致。

下面的输入和输出值定义了图形化显示的2d查找表。

行索引输入值:[1 2 3]列索引输入值:[1 2 3 4]表数据:[11 12 13 14;21 22 23 24;31 32 33 34]

在本例中,表示行索引和列索引的向量的大小分别为1×3和1×4。因此,为了维数一致,输出表的大小必须是3×4。

断点数据集的单调性

表查找操作的第一阶段涉及到将输入与断点数据集关联起来。搜索算法要求输入断点集为严格单调递增,也就是说,每个后续的元素都大于前一个元素。例如,向量

A = [0 0.5 1 1.9 2.1 3]

是一个有效的断点数据集,因为每个元素都大于它的前身。

请注意

虽然断点数据集是严格单调的格式,在转换为定点数据类型之后,可能就不是这样了。

均匀间隔断点的公式

您可以使用这些方法之一来表示数据集中均匀间隔的断点。

配方 例子 什么时候使用这个配方
[first_value:间距last_value): (10:10:200) 查询表可以使用
[0:(last_value-first_value)/spacing] 1 + (0.02 * [0:450]) 查找表使用

因为浮点数据类型不能精确地表示某些数字,所以第二种公式更适合。例如,使用1 + (0.02 * [0:450])而不是(1:0.02:10)。有关支持均匀间隔断点的查找表块的列表,请参见万博1manbetx查询表块特性的摘要

除其他优点外,均匀间隔的断点可以使生成的代码无分区并减少内存使用。有关更多信息,请参阅:

提示

不用MATLAB吗®linspace函数定义均匀间隔的断点。万博1manbetxSimulink使用更严格的公差来检查断点设置是否具有均匀的间距。如果你使用linspace要为查找表定义断点,Simulink认为断点的间隔不均匀。万博1manbetx

相关的话题