matlab交通通行量模型_Simulink自动生成枚举量定义:使用脚本+表格加速开发

d1a8453fb2c5295f139d93f5e4203cf9.png

好久不见,别来无恙。

最近被生活毒打得很惨,俩字,没钱,一个字穷。

好了,进入正题。

之前的一篇文字,草草地介绍了枚举量在Simulink仿真中观测,以及基于模型开发生成代码A2L软件。确实使用枚举量能够让开发尤其是测试更清晰明了。

离骚1949:如何在simulink中使用枚举量使工作更容易​zhuanlan.zhihu.com
f0f9878edbd8eb6440b9f6cfc9e00c50.png

但是,相比uint8 或者 int8,针对每个枚举量,单独做个Classdef的M脚本还是有点太过于麻烦了,严重拖慢了项目速度,也浪费了工程师大量的敲代码时间。

Matlab 提供了两个函数,帮助我们使用脚本编写M文件, fprintf 和fopen。

3ed97706ba8e19669286c85d9baaff57.png

354e8d503cd7ce8a3e983442acc547fb.png

matlab help 给出的实例函数用法如上图所示。

依据这俩函数加上xlsread ,就可以不费太多时间完成自动生成classdef的脚本文件,既而一劳永逸。

d8507cac20590c2f8dda879df2ff79ae.png
描述枚举量的excel文件如图

①不同的Enumeration之间,使用空格隔开。

②枚举量全部定义完毕,使用end结尾。

92418646423085d0220bf477531caa2d.png
matlab枚举量定义格式

注意①②两处,是用来告诉脚本,在枚举完成之后,fprintf classdef 文件的结尾的‘‘end’’。如果你想到更好的方法,可以选择这两处取消。

ok,介绍完了描述枚举量的表格,开始上干货---脚本代码。

b5dfc547d63624a9c4a14db1e06a6279.png

脚本主要用到了 read excel,isnan用法,字符串处理以及前文提到的两个帮助我们实现classdef.m文件的两个函数 fprintf 和fopen。

运行脚本,read excel之后,效果如下。

338481a47b297c0d9702fc6b549e05e5.png

成功。欢迎讨论。任何问题,随时知乎联系我~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值