matlab枚举类型,在 Simulink 模型中使用枚举数据

计算中的枚举值

按照设计,Simulink 不允许在数学计算中将枚举值作为数值使用,即使枚举类是 MATLAB int32 类的子类也是如此。因此,尽管枚举类型存在基础整数,也不能作为数值类型使用。例如,您不能直接为 Gain 模块输入枚举信号。

您可以使用 Data Type Conversion 模块在整数类型和枚举类型之间进行双向转换,或在两个枚举类型之间进行转换。也就是说,您可以使用 Data Type Conversion 模块将枚举信号转换为整数信号(包含枚举信号值的基础整数),并将生成的整数信号输入给 Gain 模块。有关详细信息,请参阅 转换枚举信号。

Simulink 中的枚举类型用来表示模块(如 Relational Operator 模块和 Switch 模块)中的程序状态和控制程序逻辑。当 Simulink 模块比较枚举值时,比较的值必须具有相同的枚举类型。模块将基于枚举值的基础整数(而不是它们在枚举类定义中的顺序)对枚举值进行比较。

当一个模块(如 Switch 模块或 Multiport Switch 模块)从多个数据信号中进行选择时,只要有任一数据信号是枚举类型,则所有数据信号都必须具有与之相同的枚举类型。当一个模块同时输入控制信号和数据信号时,就像 Switch 和 Multiport Switch 一样,则控制信号类型不需要与数据信号类型匹配。转换枚举信号

您可以使用 Data Type Conversion 模块将枚举信号转换为任何数值类型的信号,前提是输入到该模块的所有枚举值的基础整数都在该数值类型的范围内。否则,仿真过程中将发生错误。

同样,可以使用 Data Type Conversion 模块将任何整数类型的信号转换为枚举信号,前提是输入到 Data Type Conversion 模块的每个值都是枚举类型中某个值的基础整数。否则,仿真过程中将发生错误。

不能使用 Data Type Conversion 模块将任何非整数数据类型的数值信号转换为枚举类型。例如,使用枚举进行仿真中使用的模型需要两个 Data Conversion 模块将正弦波转换为枚举值。

db20d0a27085237640b2670169175946.png

第一个模块将 double 转换为 int32,第二个模块将 int32 转换为 BasicColors。对于复信号,不管其实部和虚部的数据类型是什么,都不能转换为枚举类型。转换枚举模块参数

您不能将任何数值数据类型的模块参数转换为枚举数据类型。例如,假设 Enumerated

Constant 模块将 Value 指定为 2,并将 Output data type 指定为 Enum:

BasicColors:

05c5c79df9a36f77f9929d56a893d786.png

这种情况下将会发生错误,因为该指定将 double 值隐式转换为枚举类型。即使该数值从算术意义上对应于枚举类型中的某个枚举值,也会发生错误。

您不能将枚举类型的模块参数转换为其他任何数据类型。例如,假设 Constant 模块将 Constant value 指定为 BasicColors.Blue,并将 Output data type 指定为 int32。

597537d3c822b98d33aa6dd102c2ca59.gif

这种情况下将会发生错误,因为该指定将枚举值隐式转换为数值类型。即使枚举值的基础整数是有效的 int32,也会发生错误。

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

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

相关文章

mysql数据库表名批量改为小写,MySQL 批量修改表名

2018-12-04 15:33:19CocoaPods安装和使用教程当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他…

dataguard mysql,[dataguard同步数据库]Dataguard环境下数据库的备份与恢复

在线QQ客服:1922638专业的SQL Server、MySQL数据库同步软件在部署完active data guard后,不但可以将只读的查询交给备库执行,还可以把日常的数据库备份工作放在备库上执行,从而减轻主库的压力,充分的发挥服务器资源&am…

matlab求解helmholtz,MATLAB与科学计算(第2版)

第1章 安装及使用前的准备1.1 MATLAB 6.x简介1.1.1 21世纪的科学计算语言1.1.2 MATLAB的发展历史1.1.3 MATLAB 6.x的新特点1.1.4 MATLAB的应用和网上资源1.2 MATLAB 6.x的安装1.3 MATLAB的桌面平台1.3.1 启动MATLAB1.3.2 桌面平台1.4 帮助系统1.4.1 联机帮助系统1.…

php最简单漂亮的excel导出,php把数据表导出为Excel表的最简单、最快的方法(不用插件)...

header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filenamexls_region.xls");$cfg_dbhost localhost;$cfg_dbname testdb;$cfg_dbuser root;$cfg_dbpwd root;$cfg_db_language utf8;// END 配置//链接数据库$link mysq…

php getimagecompose,Docker进阶:Dockerfile以及docker-compose工具

Dockerfile:用来定制镜像的文件Docker-compose:用来部署容器集群的命令工具Dockerfile基本语法FROM:指定基础镜像,格式一般是FROM :FROM必须是Dockerfile的第一条非注释的命令是镜像名,是指定版本,不写的话…

oracle 数字类型行转列,oracle行转列

一、PIVOT实例1. 建表建立一个销售情况表,其中,year字段表示年份,quarter字段表示季度,amount字段表示销售额。quarter字段分别用Q1, Q2, Q3, Q4表示一、二、三、四季度。CREATE TABLE SalesByQuarter( year INT, -- 年份qu…

Redis的安装以及使用

第一步,去官网下载一个压缩包到本地解压即用,绿色软件,不用其他操作,点击Download下载即可: Introduction to Redis | RedisLearn about the Redis open source projecthttps://redis.io/docs/about/第二步&#xff0…

oracle转sparksql工具化,不使用Sqoop流程,利用CacheManager直接完成SparkSQL数据流直接回写Oracle...

以前都是使用Sqoop来完成数据从生成的hdfs数据存储上来抽取至oracle的数据库:sqoop抽取语句:sqoop export --connect "jdbc:oracle:thin:ip:port:sid" --username 用户名 --password 密码 --table sid.表名 --export-dir hdfs://nameservice1/…

oracle+行换列,Oracle的数据表中行转列与列转行的操作实例讲解

行转列一张表查询结果为--行转列select years,(select amount from Tb_Amount as A where month1 and A.yearsTb_Amount.years)as m1,(select amount from Tb_Amount as A where month2 and A.yearsTb_Amount.years)as m2,(select amount from Tb_Amount as A where month3 and…

Oracle和sql语言,SQL语言的四种类型和ORACLE运算符

数据定义语言(DDL)数据操作语言(DML)数据控制语言(DCL)事务控制语言(TCL)Data Definition Language(DDL)DDL使我们有能力创建或删除表格。也可以定义索引(键),规定表之间的链接,以及施加表间的约束。CREATE DATABASE - 创建新数据库ALTER DATABASE - 修改…

oracle的insert语句clob,.Net 操作 Oracle CLOB类型字段 INSERT 超长数据

如果仅仅在数据库中设置了类型为 CLOB 字段类型,使用普通的 INSERT 语句直接写入数据到数据库的话,它依然会将其视为 VARCHAR 类型数据,并最大长度为 4000 字符。超过该长度会报出字符串超长,写入数据失败的错误。使用 Dapper 处理…

php阅读器开发,微信小程序阅读器的简单实例开发

这篇文章主要介绍微信小程序阅读器的简单实例开发的相关资料,需要的朋友可以参考下今天和朋友聊天说到小程序,然后看在看书,然后我们就弄了个小读书的demo,然后现在分享一下。一、先来上图:首先先说下边的tabBar,项目采…

oracle存储返回sql查询,如何做才能使record类型和table类型存储查询语句返回的多条记录?...

CREATE OR REPLACE PROCEDURE Zxt_type_Study Is/*type 的使用*/Testrow1 Test%ROWTYPE;TYPE Aa IS TABLE OF Test%Rowtype;Testrow Aa : Aa();TYPE Bb IS TABLE OF Test.ac%Type;Cc Bb;Testrow2 Test%ROWTYPE;t Test.Ac%TYPE;BEGINTestrow2.Ac : a3;Testrow…

oracle10g检测未通过,win64bit安装oracle 10g版本检查未通过解决 提示要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1...

在WIN7上安装oracle 10g时&#xff0c;提示如下信息&#xff1a;正在检查操作系统要求...要求的结果: 5.0,5.1,5.2,6.0 之一实际结果: 6.1检查完成。此次检查的总体结果为: 失败 <<<<问题: Oracle Database 10g 未在当前操作系统中经过认证。建议案: 确保在正确的平…

php对扑克牌进行排序,C#代码实现扑克牌排序的几种方式

扑克牌游戏&#xff0c;总是能用到很多的手牌排序&#xff0c;总结了几种方式供参考&#xff0c;顺便记录一下方便以后使用。我做的这个是由(1-13:黑桃A-K || 14 - 26:红桃 || 27 - 39&#xff1a;梅花 || 39 - 52 : 方片 || 53.54&#xff1a;小王.大王)表示的一副扑克牌&…

oracle10g导入dmp文件恢复,oracle 10g 恢复dmp文件。

1. 在winxp下&#xff0c;安装10g&#xff0c;默认选择&#xff0c;一路ok。(安装前自检出现dhcp警告&#xff0c;可直接忽略)2.命令行&#xff0c;在xp下&#xff0c;输入sqlplus&#xff0c;即可启动&#xff0c;登陆用 sqlplus / as sysdba 用管理员登陆3.在恢复oracle时&am…

js十秒没有点击怎么判断_MAC口红怎么判断真假?没批号就没有生产日期,网友:品控太差...

一般来说&#xff0c;MAC的口红产品&#xff0c;底部都会有三位编码&#xff0c;这是该款口红的批号。因像MAC这类国外美妆护肤品牌&#xff0c;是不会将生产日期明确的标注在产品上&#xff0c;都是将其编码成批号&#xff0c;在标注在外包装或者产品的侧面、底部等边缘位置。…

剪辑内核linux,Linux01-Linux编辑内核定制属于自己的内核49

一、编译内核相关命令1、重装initrd文件命令&#xff1a;mkinitrd&#xff1a;creates initial ramdisk p_w_picpaths forpreloading modules格式:mkinitrd initrd文件路径 内核版本号,如:mkinitrd/boot/initrd-uname -r.img uname -r2、I/O处理命令a、命令格式说明2${parame…

go run main.go 参数_介绍一款Go项目热编译工具gowatch

使用场景在golang项目编写过程中&#xff0c;需要对项目不断的进行构建go build并调试以快速发现问题&#xff0c;而我们每次进行手动的进行go build又太重复&#xff0c;所以写了这么一个工具gowatch来实时的监听文件的改动并编译运行&#xff0c;大大提升开发效率。快速入门安…

linux 服务端口查询,linux 怎么查看服务和端口

(1)查看本机关于IPTABLES的设置情况[roottp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destinationChain RH-Fi…