Matlab编程技巧:通过脚本创建/修改Simulink数据字典

2024-09-03 11:38

本文主要是介绍Matlab编程技巧:通过脚本创建/修改Simulink数据字典,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Simulink数据字典中的配置影响了模型生成的代码。本文举例说明如何通过Matlab脚本创建或修改Simulink数据字典。

文章目录

  • 1 数据字典的概念
  • 2 手动创建/修改数据字典
  • 3 通过脚本创建/修改数据字典

1 数据字典的概念

数据字典中存储了Simulink模型中的数据信息和模型配置信息。在生成代码的时候,模型和数据字典一般是配套的。
数据字典通常分为两个分区,Design Data和Configurations,分别存储了数据信息和配置信息。
对于模型中的输入输出接口、观测量和标定量一般会在Design Data中定义好。模型的相关配置和生成代码的配置信息一般在Configurations中定义好,而不采用模型自身的配置。

2 手动创建/修改数据字典

1.首先在matlab命令行输入’daexplr’,打开Model Explorer
2.点击File–New–Data Dictionary,在弹出的窗口中新建数据字典
在这里插入图片描述
3.在左侧的视图栏会出现刚刚建立的数据字典,选中Design Data分区
在这里插入图片描述
4.在上方的工具栏可以新建参数、信号等,并配置属性
在这里插入图片描述

3 通过脚本创建/修改数据字典

假设有一模型demo.slx,
在这里插入图片描述
通过脚本根据Outport端口名称建立数据字典,Signal属性如下:

NameSignal1
Data Typesingle
Initial Value0
Storage ClassExportToFile
Header FileGlobal.h
Destination FileGlobal.c
OwnerJackson

需要通过Simulink.data.dictionary类的方法完成数据字典的建立和修改,脚本如下:

function CreateSldd()
%创建Signal1的Simulink.Signal对象Signal1Obj = Simulink.Signal;Signal1Obj.DataType = 'single'; %类型Signal1Obj.InitialValue = '0'; %初始值Signal1Obj.StorageClass = 'ExportToFile (Custom)'; %存储方式Signal1Obj.CoderInfo.CustomAttributes.HeaderFile = 'Global.h'; %头文件Signal1Obj.CoderInfo.CustomAttributes.DefinitionFile = 'Global.c'; %源文件Signal1Obj.CoderInfo.CustomAttributes.Owner = 'Jackson'; %Owner
%创建数据字典并加入Signal1对象dictionaryObj = Simulink.data.dictionary.create('demo.sldd');sectionObj = getSection(dictionaryObj,'Design Data');addEntry(sectionObj,'Signal1',Signal1Obj);
end

运行脚本,会在Matlab当前路径创建demo.sldd的数据字典文件,里面包含了名为“Signal1”的信号对象,属性如图所示
在这里插入图片描述
如果已有数据字典文件,则脚本改用Simulink.data.dictionary.open()即可添加数据字典内容。

>>返回个人博客总目录

这篇关于Matlab编程技巧:通过脚本创建/修改Simulink数据字典的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

电脑提示Winmm.dll缺失怎么办? Winmm.dll文件丢失的多种修复技巧

《电脑提示Winmm.dll缺失怎么办?Winmm.dll文件丢失的多种修复技巧》有时电脑会出现无法启动程序,因为计算机中丢失winmm.dll的情况,其实,winmm.dll丢失是一个比较常见的问... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包