真值表编程

news2024/11/16 13:48:21

打开真值表进行编辑
在图表中创建并标记真值表后,您可以指定其逻辑行为。要打开真值表,请双击真值表函数。

在这里插入图片描述
默认情况下,真值表包含一个条件表和一个动作表,每个表都有一行。条件表包含一个决策列D1和一个动作行。

选择动作语言

如果真值表位于C动作语言Stateflow图表内,则可以为Stateflow真值表指定动作语言:
通过选择View > Property Inspector打开属性检查器。
在Properties 部分,选择C或MATLAB作为动作语言。

输入真值表条件

条件是在真值表中指定逻辑行为的起点。您打开可编辑的真值表。通过指定条件开始对ttable的行为进行编程。
在“ Condition Table”的“Condition ”列中输入条件。对于您输入的每个条件,您可以在“Description”列中输入可选的描述。要为真值表ttable输入条件,请执行以下操作:
1 单击 Condition Table上要附加的行。
2 单击侧面板上的Append Row”按钮两次。
真值表将两行附加到条件表的底部。
3 单击并向下拖动分隔Condition Table和 Action Table窗格的条,以放大Condition Table窗格。
4 在“Condition Table”中,单击“Description”列的顶部单元格。
单元格中会出现一个闪烁的文本光标,该光标会突出显示。
5 输入此文本:
x is equal to 1
条件描述是可选的,但在生成的真值表代码中显示为注释。
6 要选择“Condition ”列右侧的下一个单元格,请按向右箭头。
7 在“Condition ”列的第一个单元格中,输入
XEQ1:
此文本是一个可选标签,您可以将其包含在条件中。每个标签必须以字母字符([a-z][a-z])开头,后跟任意数量的字母数字字符([a-z][a-z][0-9])或下划线(_)。
8 按Enter键,然后显示以下文本:
x == 1
你输入的每个条件都必须计算为零(false)或非零(true)。您可以在条件中使用可选括号(例如,[x==1])。
在真值表条件下,您可以使用通过其参数传递给真值表函数的数据。前面的条件测试参数x是否等于1。您还可以使用为真值表的父对象定义的数据,包括图表。
9 重复上述步骤以输入其他两个条件。
在这里插入图片描述

输入真值表决策

每个决策列(D1、D2等)将一组条件结果与and关系绑定到一个决策中。决策中条件结果的可能值是T(真)、F(假)和-(真或假)。在“输入真值表条件”中,您为真值表表表输入了条件。继续在决策列中输入值:
1 单击要附加的列“Condition Table”。
2 单击侧面板上的“Append Column”按钮两次。
3 单击决策列D1中的顶部单元格。
单元格中会出现一个闪烁的文本光标,该光标会突出显示。
4 按下空格键,直到出现T值。
按下空格键可切换F、T和-的可能值。您也可以直接输入这些字符。按1将该值设置为T,按0将该值设为F。按x将该值设定为-。
5 按向下箭头键前进到D1列中的下一个单元格。
在决策列中,您可以使用箭头键沿任何方向前进到另一个单元格。您还可以使用左右箭头键在这些单元格中向左或向右前进。
6 为决策列输入剩余值:
在这里插入图片描述在执行真值表期间,决策测试按从左到右的顺序进行。决策中单个条件结果的测试顺序未定义。真值表按自上而下的顺序评估每个决策的条件(先是条件1,然后是条件2,依此类推)。由于此实现在未来可能会发生变化,因此不依赖于特定的评估顺序。
默认决策栏
ttable中的最后一个决策列D4是此真值表的默认决策。默认决策涵盖了左侧前面决策列中未测试的任何决策。您可以在右侧的最后一个决策列中输入默认决策,并为决策中的所有条件输入-。此条目表示条件T或F的任何结果。
在前面的示例中,默认决策列D4指定了这些决策:

在这里插入图片描述

输入真值表动作

在执行真值表期间,决策测试按从左到右的顺序进行。当发生决策匹配时,将执行在该决策列的“Actions”行中指定的“Action Table”中的操作。然后,真值表退出。
在“输入真值表决策”中,您在真值表中输入了决策。下一步是在Action Table中为每个决策输入要执行的动作。稍后,您可以在条件表的“Actions ”行中将这些动作分配给他们的决策。

设置动作表

1 单击要附加的行“Action Table”。
2 单击侧面板上的“Append Row ”按钮三次。

在这里插入图片描述3 使用你为真值表选择的语言对动作进行编程。

使用C表达式的编程动作

按照以下过程使用C作为动作语言对动作进行编程:
1 单击“Action Table”的“Description ”列中的顶部单元格。
单元格中会出现一个闪烁的文本光标,该光标会突出显示。
2 输入以下说明:
将r设置为1
3 动作描述是可选的,但在生成的真值表代码中显示为注释。
按向右箭头键选择“动作”列右侧的下一个单元格。
4输入以下文本:
A1:
可以使用可选标签后跟冒号(:)开始动作。稍后,您可以在“Condition Table”的“Actions ”行中输入这些标签,为每个决策列指定一个动作。与条件标签一样,动作标签必须以字母字符([a-z][a-z])开头,后跟任意数量的字母数字字符([a-z][a-z][0-9])或下划线(_)。
5 按Enter键并输入以下文本:
r=1;
在真值表动作中,您可以使用通过其参数和返回值传递给真值表函数的数据。前面的动作r=1设置返回值r的值。您还可以使用为真值表的父对象(包括图表)定义的数据指定动作。真值表动作还可以广播或发送为真值表或父级(如图表本身)定义的事件。
6 在动作表中输入剩余动作,如图所示:
在这里插入图片描述

为决策分配真值表动作

你必须从动作表中为条件表中的每个决策分配至少一个动作。真值表使用此关联来确定当决策测试为真时执行什么动作。

决策动作分配规则

将动作分配给真值表中的决策时,以下规则适用:
通过在决策列的“Actions”行单元格中输入行号或标签,可以指定决策的动作。
如果使用标签说明符,则标签必须与动作一起出现在动作表中。
您必须为每个决策指定至少一个动作。
决策动作不是可选的。每个决策都必须至少有一个动作说明符,指向动作表中的动作。如果不想为决策指定任何动作,请指定一行不包含动作语句。
您可以使用逗号、分号或空格分隔的多个说明符为决策指定多个动作。
例如,对于决策列D1,可以指定A1、A2、A3或1;2.当决策D1为真时,执行前三个动作。
可以按任何顺序交替使用行号和标签动作说明符。
以下示例同时使用行和标签动作说明符。

在这里插入图片描述
可以为多个决策指定相同的动作,如图所示:
在这里插入图片描述条件表动作行中的行号动作说明符会自动调整为动作表行顺序的变化。

如何为决策分配动作

本节介绍如何在真值表ttable中为决策分配动作。在此示例中,每个决策列的“Actions”行单元格都包含为“Action Table”中的每个动作指定的标签。请按照以下步骤操作:
1 单击决策列D1中的底部单元格,即条件表“Actions”行的第一个单元格。
2 为决策列D1输入动作说明符A1。
当D1为真时,执行动作表中的动作A1。
3 为其余决策列输入动作说明符:

在这里插入图片描述

添加初始和最终动作

除了决策动作外,您还可以将初始和最终动作添加到真值表函数中。初始动作指定在任何决策测试发生之前执行的动作。最终动作指定了一个动作,该动作作为真值表退出前的最后一个动作执行。要为真值表指定初始和最终动作,请使用 Action Table中的动作标签INIT和final。
使用此过程添加在执行真值表之前和之后在MATLAB命令窗口中显示诊断消息的初始和最终动作:
1在真值表中,右键单击“ Action Table ”的第1行,然后选择 Insert Row。
动d作表顶部出现一个空白行。
2 选择Edit > Append Row。
动作表底部出现一个空白行。
3 单击并拖动真值表的底部边框,以显示动作表的所有六行:

在这里插入图片描述
在第1行中添加初始动作,如下所示

在这里插入图片描述

在第6行添加最后一个动作,如下所示:

在这里插入图片描述
虽然前面真值表示例的初始和最终动作出现在Action Table的第一行和最后一行,但您可以在任何行中输入这些动作。您还可以通过在 Condition Table的Actions行中使用动作说明符INIT或final,为决策分配初始和最终动作。

下面进入实操,创建一个ttable真值表,返回值是r。
在这里插入图片描述
双击打开真值表,配置如下所示,然后生成代码
在这里插入图片描述
可以看到真值表函数就返回了一个456.前面的配置似乎都失效了。
在这里插入图片描述
所以我认为init和final是不能同时配置的。
现在我把final选项删除,然后看下代码,可以发现真值表初始值也有了,各种判断也有了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1992153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

达梦数据库 数据类型

达梦数据类型 1.背景2.要求3.描述与使用3.1 常规数据类型3.1.1 字符数据类型3.1.1.1 CHAR类型3.1.1.2 CHARACTER类型3.1.1.3 VARCHAR类型 3.1.2 数值数据类型3.1.2.1 NUMERIC类型3.1.2.2 DECIMAL类型3.1.2.3 DEC类型3.1.2.4 NUMBER类型3.1.2.5 INTEGER类型3.1.2.6 INT类型3.1.2…

VC++_opencv插件ImageWatch的安装和使用

1、插件安装 以VS2015为例: 进入扩展和更新界面,点“联机”,然后输入“ImageWatch”进行搜索: 2、安装完毕后重启VisualStudio 如下图在菜单“视图\其他窗口”找到“ImageWatch”这个栏目 然后点开: 也可让其停靠在Vi…

c++----初识模板

大家好,这篇博客想与大家分享一些我们c中比较好用的知识点。模板。首先咧,我们都知道模板嘛,就是以前人的经验总结出来的知识。方便我们使用。这里的模板也是一样的。当我们学习过后,对于一些在c中的自定义函数,我们在…

QList 的访问方式list.at(index) 和 list[index] 对比

QList 是 Qt 框架中提供的一个模板容器类,用于存储和操作一系列元素。它提供了两种不同的方式来访问容器中的元素:.at()成员函数和下标运算符 []。以下是这两种方式的区别: 1. QList::at() 方法 at()是一个成员函数,它允许通过索…

04--Docker

前言:前面写过关于DockerKubernetes的部署,主要是针对国产化linux系统的适配问题,并没有对docker进行复习。这里整理一下docker的知识点,用作容器化微服务的起点,主要为日常工作配置使用,本章可能有点长&am…

详解Xilinx FPGA高速串行收发器GTX/GTP(4)--TX/RX接口的数据位宽和时钟设计

目录 1、时钟设计 2、TX接口 3、接口位宽与时钟的关系 4、时钟来源方案 5、TX端内部的时钟分频设计 6、RX接口 文章总目录点这里:《FPGA接口与协议》专栏的说明与导航 1、时钟设计 GT收发器内部比较复杂,所使用的时钟就不止一个,比较主要的时钟有两个,架构…

做好网络安全风险管理必备的5种能力

网络安全风险管理和网络安全防护是两个密切相关但不可互换的概念,网络安全防护侧重于应对攻击和响应正在发生的安全事件,而网络安全风险管理则强调从更全面的视角去评估企业的安全状况和面临的威胁态势,包括了从对组织运营、商誉、财务和合规…

值得注意!家里有带毛发动物就有浮毛?宠物空气净化器一键净化

上次跟朋友逛完街去她家,她家热情的哈基米开门就一个猛冲,我朋友接住就是一顿猛亲,亲猫一时爽,汗液粘着猫毛,粘得满手臂、满脸都是,看得鼻炎星人头皮发麻...好多养宠物的都说,梳毛根本不管用&am…

关于let 、const和Object.freeze的使用记录

let和const的使用差异 let对象变量,可以修改对象属性,可以给变量重新赋值 const对象变量,可以修改对象属性,不可以给变量重新赋值 Object.freeze()返回一个不可变对象,需要接收返回值。不会改变原参数的性质

LVS详解及其NAT模式与DR模式部署(全网最详细!!!)

文章目录 LVS集群概念集群和分布式 LVS运行原理LVS简介LVS专业术语工作原理LVS调度算法ipvsadm常用命令 LVS工作模式及其原理NAT模式DR模式TUN模式fullnet模式 部署NAT模式集群案例DR模式(企业中最常用)LVS持久链接(session回话问题解决&…

SimpleITK C++版在windows 下编译

一般都是用python 版的SimpleITK,因为项目需要集成到C Qt上,然后ITK用起来又不如SimpleITK方便,所有就编译了C版的Sitk,下面记录下过程。 版本对应 SimpleITK 编译需要ITK ,而且不同版本需要对应不同的ITK,sitk 2.2.1 对应ITK 5…

基于Hadoop的海量电商用户行为分析及机器学习购买预测研究【购物行为分析、100万条数据案例项目】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主引言研究背景国内外研究现状研究目的研究意义 关键技术理论介绍Hadoop集群搭建及数据准备Hadoop全套组件搭建数据集介绍数据预处理 基于大数据的电商用户行为指标分析HIve准备数据表flume配…

在哪些行业中,3D 技术发挥了重要作用?

3D技术目前常见于行业或领域中的应用,主要包括3D数字孪生、3D打印等。3D数字孪生技术作为一种前沿技术,在多个行业中发挥着重要作用,它通过创建物理实体的数字化副本,实现对实体的实时监控、预测和优化。以下是一些3D数字孪生技术…

【总结】TCP/IP四层模型的理解

在开始之前放上一张本文章的核心图片,要一直记住图中的内容!!! 一、概念理解 首先我们知道分析网络的时候有两种模型,一种是OSI七层模型,另一种就是TCP/IP四层模型。一般来说,我们常用的就是TC…

医疗工厂网络同步时钟,子母钟系统结构,可使用十年以上

在医疗和工业领域,准确的时间信息对于确保各项工作的高效运行至关重要。网络同步时钟系统因其高精度、易维护等特点,成为现代医疗工厂不可或缺的时间管理工具。本文将详细介绍网络同步时钟系统的优点及其技术细节。 一、网络同步时钟优点 网络同步时钟系…

工业设计用什么CAD软件?SolidWorks 成为您创意实现的得力助手

随着科技的发展,工业设计已经进入了数字化时代。对于设计师来说,选择一款高效、功能全面的设计软件至关重要。在市场上众多的CAD(计算机辅助设计)软件中,SolidWorks因其出色的性能和广泛的适用性而备受青睐。本文将介绍…

各地区搭子群扩列群h5公众号小程序app开源版开发

各地区搭子群扩列群多开h5公众号小程序app开源版开发 多端应用,源码开源支持自主二开;域名授权。 搭子群和扩列群通常是用来帮助人们找到志同道合的朋友或活动伙伴的社交平台。这些平台可以采用H5页面、微信公众号、小程序或独立的应用程序等形式。下面…

winform 设置TabControl中tab标签的宽度

问题: tabpage标签太挤了,标签间的间隔也不明显。解决方法: 将TabControl的SizeMode属性设为Fixed设置ItemSize的大小(width) 调整后效果:

暗区突围端游下载不了/下载失败/下载太慢的有效解决办法分享

暗区突围端游的第一次测试已经过去了一段时间了,毕竟是第一次测试,当时还是有很多问题的,比如说很多玩家根本拿不到测试资格,还有些是因为游戏优化太差,卡的就玩不了。现在这些问题通通不用担心了,端游在13…

和鲸科技助力 Datathon 会前培训成功举行,“理-工-医-信”跨学科合作,以数据驱动医疗实践

2024 年 8 月 3 日,由解放军总医院和中国生物医学工程学会临床医学工程分会共同举办的第五届“解放军总医院—麻省理工学院医疗大数据学术交流及 Datathon 活动”会前培训班于线上圆满收官,和鲸科技为会前培训班提供全程技术平台支持,该培训班…