Simulink建模与仿真学习笔记之真值表(Truth Table) |
您所在的位置:网站首页 › 真值表的行数与什么有关 › Simulink建模与仿真学习笔记之真值表(Truth Table) |
1,用法 既可以在simulink中使用,也可以在stateflow中使用。 1.1 Simulink中使用真值表Simulink中,选择库浏览器=》Stateflow => Truth Table
默认只有一个输入端口u和一个输出端口y。如果要添加端口,先打开Model Explorer,再在其中添加数据。 添加后: 1.2 Stateflow的chart图中使用真值表 点击左边的工具栏: 1.3 编辑真值表 双击打开真值表,可在其中编辑。 真值表主要分为3个部分:条件表(Condition Table)、动作表(Action Table)、决策到动作表的映射。 2,条件表 1,描述(Description)部分是可选的。生成代码时会作为注释。 2,条件(Condition)中也可以添加标签。比如: 3,动作表 (1),可以使用标签。如果没有标签,则用行号来引用。 (2),特殊的动作标签:INIT和FINAL。 INIT的动作会在初始化时自动调用;FINAL的动作会在结束前自动调用。 4,真值表决策 (1)只能输出T、F和-。分别表示TRUE、FALSE、NO_CARE(TRUE或者FALSE)。 (2)可以使用空格键来切换T/F/-。 (3)决策后的动作:填写动作标签,或者行号。(简单的情况可以直接使用行号,但不便于扩展,因为插入一行后,后面的动作所对应的行号会变化,此时应该使用动作标签。) (4)决策动作,可以指定多个动作,以逗号、分号或者空格分开。 5,真值表执行流程 真值表执行期间,会按从左至右的顺序进行决策测试。决策内各个条件结果的测试顺序未定义。 当实际结果与某一决策匹配时,即会执行在 Action Table Actions 行中为该决策列指定的动作。然后,结束并退出真值表的执行。
6,查看生成的代码。(View Auto-generated Content) (1) 语言类型 真值表的语言类型也分为C语言和MATLAB语言。
(2)查看生成的内容 点击工具栏中的View Generated Context按钮,可以查看生成的内容。 如果动作语言类型是MATLAB,则生成M脚本: function c_code INIT(); C1 = false; C2 = false; C3 = false; % Condition C1 C1 = logical(x==0); % Condition C2 C2 = logical(y==0); % Condition C3 C3 = logical(z==0); if (C1) A1(); elseif (~C1 && C2) A2(); elseif (~C1 && ~C2 && C3) A3(); else % Default DA(); end FINAL();如果动作语言类型是C,则生成图形函数。 7,语法检查: Diagnose the Truth Table Run Diagnostics checks the truth table for syntax errors. See Debug a Truth Table.
附:隐含动作:INIT和FINAL 添加初始动作和最终动作除了为决策指定动作外,您还可以为真值表函数添加初始动作和最终动作。初始动作指定任何决策测试发生之前执行的动作。最终动作指定在退出真值表之前作为最后一个动作执行的动作。要为真值表指定初始动作和最终动作,在 Action Table 中使用动作标签 INIT 和 FINAL。 INIT和FINAL动作也可用于Condition Table的 Actions 行中的动作设定符。 编写真值表https://ww2.mathworks.cn/help/stateflow/ug/programming-a-truth-table.html#mw_576a0b81-c4ce-4ed1-867a-170c9782336c 使用 Stateflow 真值表构建模型 https://ww2.mathworks.cn/help/stateflow/ug/build-model-with-stateflow-truth-table.html
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |