Simulink建模与仿真学习笔记之N维直接查找表(Direct Lookup Table (n-D))
直接查找表所在的库:Simulink -> Lookup Tables.
重点内容
1,是根据索引来查看N维数据库中的内容。输入为索引号,只能是整数(如果输入是小数,会自动截为整数)。
2,索引号是从0开始,而不是从1开始。
3,输出可以为元素(Element),或者列向量(Column),或者二维矩阵(2-D Matrix)。
4,当输出为元素时,有N个输入信号,分别对应每个维度。最上面的对应最低维度,最下面的对应最高维度。当输出为列向量时,只有(N-1)个输入信号;此时输出的是最低维度的列向量。输出二维矩阵时类似,只需要(N-2)个输入,输出为X(:,:,x)。
5,表的数据,可以在对话框中输入,也可以来自输入端口(Make table an input)。
6,当输入索引超出范围时,诊断信号可以为:无,警告,弹出错误。如果是“无”或者“警告”,则将剪切超出范围的索引以满足表维度的要求(取边界值)。
输入与输出的关系
用图表的形式直观地理解:
举例:
在以下模型中,表数据是使用以下模型预加载函数定义的线性增加值的四维数组:
a = reshape(1:2800, [4 5 20 7]);
运行模型时,将得到以下结果:
因为 Direct Lookup Table (n-D) 模块使用从零开始的索引方法,所以输出为:
a(:,2,4,3)
参考资料
为 N 维表进行索引,以检索元素、向量或二维矩阵
https://ww2.mathworks.cn/help/simulink/slref/directlookuptablend.html