一旦你创建了一个新的真值表,你可以设定它根据您的规格来执行。要设置添加条件,决策和行动的真值表。有关创建真值表的更多信息,请参阅使用真值表到型号组合逻辑。
真相表在Simulink仅支持万博1manbetx万博1manbetx®楷模。欲了解更多信息,请参阅使用真值表到型号组合逻辑。
您创建和图表或Simulink模型中标注真值表后,可以指定它的逻辑行为。万博1manbetx这些规范适用于既Simulink模型的真值表块与Stateflow的真值表功能万博1manbetx®图表。在这个例子中,可以指定一个真值表功能的行为。
要打开真值表,双击真值表功能,的TTable
,您在创建使用真值表到型号组合逻辑。
默认情况下,真值表包含条件表和动作表,各有一行。该条件表含有单一的决定列,D1和单一的动作一行。
如果真值表是使用C作为动作语言Stateflow的图表里面,你可以指定你的Stateflow的真值表的动作语言:
打开属性检查器。在里面造型选项卡,在设计数据, 选择属性检查器。
在下面属性部分选择C要么MATLAB作为动作语言。
使用C作为动作语言也必须使用C作为动作语言Stateflow的图表内部真值表。
条件是在真值表指定逻辑行为的出发点。打开新真值表,的TTable
,编辑。开始编程的行为的TTable
通过指定的条件。
您在输入条件健康)状况的列条件表。对于您输入的每个条件,您可以输入在可选说明描述柱。为真理表输入条件的TTable
:
点击行条件表要追加。
点击添加行按键侧面板上的两倍。
真值表追加两行的底部条件表。
点击并拖动分隔栏条件表和动作表窗格向下放大条件表窗格。
在里面条件表中,单击顶部电池描述柱。
闪烁的文本光标出现在单元格,其以高亮显示。
进入这样的文字:
x等于1
病情描述是可选的,但是出现在真值表生成的代码的注释。
点击右侧的下一个单元格,在健康)状况柱..
在的所述第一小区健康)状况列中,输入:
XEQ1:
这个文本是一个可选的标签可以包括与条件。每个标签必须以字母开头([A-Z] [A-Z]
随后)通过任何数目的字母数字字符([A-Z] [A-Z] [0-9]
)或下划线(_
)。
按输入而这样的文字:
X == 1
本文是实际情况。您输入值必须为零(假)或非零(真),每个条件。您可以在条件中使用可选的括号(例如,[X == 1]
)。
在真值表的条件下,你可以使用传递给通过参数的真值表功能的数据。前述条件测试是否参数X
等于1。也可以使用用于真值表的父对象,包括图表定义的数据。
重复上述步骤进入其他两个条件。
每一个决策列(D1,D2,等)与AND关系到决策结合一组条件的结果一起。对于病情结局的决定。可能的值Ť
(真正),F
(假),并且-
(对或错)。在输入真值表条件,您输入条件的真值表的TTable
。由判定列中输入值继续:
点击的决定列条件表要追加。
点击附加列按键侧面板上三次。
单击决策列顶部的单元格D1。
按空格键,直到值Ť
出现。
通过可能的值按空格键切换F
,Ť
和-
。您也可以直接输入这些字符。压制1个设置值,以Ť
,同时按下0设定值,以F
。紧迫X
将该值设置为-
。
输入决定列的其余值:
在真值表的执行,决定测试发生在左到右的顺序。测试各个条件的顺序成果内作出决定是不明确的。真值表评价在自上而下的顺序(第一条件1,则条件2,等)每个决策的条件。由于这种实现是受限于未来的变化,不依赖特定的评估顺序。
最后决定在列的TTable
,D4,是这个道理表的默认决定。默认的决定涵盖了在决策前的列没有测试任何决定。创建通过输入一个默认的决定 - 在最右边的决定列的每一个细胞。该条目代表为条件的任何结果,Ť
要么F
。默认决定栏中必须是在右边的最后一列条件表。
在真值表的执行,决定测试发生在左到右的顺序。当决定匹配时,在行动动作表即在指定的操作排了这一决定列执行。然后真值表退出。
在输入真值表决定,您在真值表进入决策。下一步是要进入你希望发生在每一个决策行动动作表。稍后,您分配这些行动,他们决定在操作行条件表。
单击行动作表要追加。
点击添加行按键侧面板上三次。
计划真值表的动作。
对于真值表在使用MATLAB®作为动作语言,你可以写MATLAB代码编程你的行动。使用此代码,可以直接添加控制流逻辑和呼叫MATLAB功能。在接下来的过程中,你的程序在真值表的动作的TTable
使用以下MATLAB语法的特点:
持久变量
如果... ...其他结束
控制流
对于
环
按着这些次序:
单击顶部电池描述的列动作表。
闪烁的文本光标出现在单元格,其以高亮显示。
进入这样的描述:
保持计数器和长度为6每次这个动作被称为的值的环状载体,输出r取矢量的下一个值。
动作描述是可选的,但是出现在真值表生成的代码的注释。
按右箭头键选择右侧的下一个单元格,在行动柱。
输入以下内容:
A1:
你开始用一个可选标签的动作跟一个冒号(:
)。后来,你在进入这些标签操作行条件表指定每个决定栏中的动作。像条件的标签,标签的动作必须以字母开头([A-Z] [A-Z]
随后)通过任何数目的字母数字字符([A-Z] [A-Z] [0-9]
)或下划线(_
)。
按输入并输入以下文字:
持久值反击;周期= 6;coder.extrinsic( '曲线');如果的isEmpty(计数器)初始化%计数器是零计数器= 0;别的%否则,递增计数器计数器=计数+ 1;结束时,如果的isEmpty(值)%的值是1到周期值=零(1周期)的载体;对于i = 1:周期值(I)= I;结束%出于调试目的,调用MATLAB%功能“情节”,以示值图(值);端%输出r取入值向量r =值(MOD(计数器,周期)+ 1)的下一个值;
在真值表操作,您可以使用通过它的参数和返回值传递给真值表功能的数据。前面的动作设定的返回值[R
等于向量的下一个值值
。您还可以指定与真值表的父对象定义的数据,包括图表行动。真值表行动也可以广播或发送的真理表中定义,或为父母,图表本身,如事件。
请在剩余行动动作表, 如图所示:
如果行动A1
模拟过程中执行,对情节值
矢量出现:
现在,您可以指定动作来决定。
您必须分配从至少一个动作动作表在每一个决策条件表。事实表使用这种关联来确定哪些行动,当决定测试作为真正的执行。
当你将采取行动的真值表决定下列规则:
您可以通过输入一个行号或标签指定的决策行为操作决定列的行单元格。
如果您使用标签说明符,这个标签必须出现在该动作动作表。
你必须为每一个决策的至少一个动作。
对决策行为是不可选的。每个决定都必须至少有一个动作说明该点的动作动作表。如果要指定一个决定不采取行动,指定不包含动作语句的行。
您可以指定用逗号,分号或空格分隔的多个符决定多个动作。
例如,对于决定列D1,你可以指定A1,A2,A3
要么1; 2; 3
执行前三个时决定行动D1是真的。
您可以按任何顺序互换混行号和标签的动作说明符。
下面的示例使用行和标签的动作说明符。
您可以为一个以上决策指定相同的动作,如下所示:
在行号行动符操作行条件表自动调节到的行顺序变化动作表。
本节将介绍如何分配行动,决定在真值表的TTable
。在这个例子中,操作每个决策列行单元格中包含的每个动作指定一个标签动作表。按着这些次序:
点击决定塔的底部电池D1,的所述第一小区操作行条件表。
进入行动确定A1
决策列D1。
什么时候D1是真实的,行动A1
在里面动作表执行。
输入操作符的剩余决定列:
现在,您已经准备好执行编程真值表的最后一步。
除了行动的决定,你可以添加最初和最后的行动真值表功能。初步行动指定执行的任何决定测试发生之前的动作。最后的动作指定一个动作执行的真值表退出前的最后一个动作。要为真值表指定最初和最后的行动,用行动标签在里面
和最后
在里面动作表。
使用此过程添加前后的真值表执行后显示在MATLAB命令窗口诊断消息最初和最终的行动的TTable
:
在真值表,用鼠标右键单击的1排动作表并选择插入行。
一个空白行出现的顶部动作表。
在里面造型选项卡,选中添加行。
一个空白行出现的底部动作表。
单击并拖动真值表的底部边框,显示所有六个行动作表:
添加初始动作1行中,如下所示:
描述 | 行动 |
---|---|
初步行动: 显示信息 |
|
在最后加上行动第6行,如下所示:
描述 | 行动 |
---|---|
最后的行动: 显示信息 |
|
虽然前面的真值表例如初始和最终的动作出现在的第一行和最后一行动作表,你可以输入任何行这些动作。您也可以使用行动确定分配初始和最终行动决定在里面
要么最后
在里面操作行条件表。
当你模拟模型,Stateflow中生成您的真值表内容。要查看生成的内容,请单击查看生成的内容按钮。对于使用C作为动作语言真值表,内容被作为图形函数生成的。对于使用MATLAB作为动作语言真值表,内容作为MATLAB代码生成。欲了解更多信息,请参阅对于Stateflow的真值表查看生成的内容。