Matlab中Combinatorial Logic模块的使用
打开Combinatorial Logic模块,需要我们输入一个矩阵。所以此时我们需要指定一个矩阵,将所有可能的输出定义为Truth table参数。
注意,该模块中输入矩阵的行数与输入参数个数之间的关系为:
number of rows = 2^(number of inputs)
Simulink通过输入参数计算索引值,判断输出真值表中的第几行元素。
Simulink 生成索引值的公式:
row index = 1 + u(m)*2^0 + u(m-1)*2^1 + … + u(1)*2^(m-1)
(输入为向量u,共有m个元素)
例:采用Combinatorial Logic模块中的默认真值表[0 1;0 1;0 1;1 0;0 1;1 0;1 0;1 1],共8行,所以输入值应为3个,本例中设为[1,0,1],此时m=3,所以计算索引行数为:1+u(3)*2^0 + u(3-1)*2^1 + … + u(1)*2^(3-1)=6,输出真值表的第六行:[1,0]。
参考:https://www.pianshen.com/article/91911363633/