Matlab编程技巧:通过脚本获取/修改Simulink模块参数

2024-09-03 11:38

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

在MBD(基于模型的设计)开发中,可能需要反复修改simulink模型。传统的方式是通过在模型中找到相应的模块,然后点进去修改参数。本文介绍一种通过Matlab脚本批量获取Simulink模块参数,并修改参数的方法。

文章目录

  • 1 相关函数
    • 1.1 搜索出符合条件的模块、信号线、端口等
    • 1.2 获取模块指定参数的值
    • 1.3 设置模块指定参数的值
  • 2 常见问题
    • 2.1 参数名称在脚本中对应的字符串是什么
    • 2.2 只想搜索模型顶层的模块怎么办
  • 3 参考资料

1 相关函数

1.1 搜索出符合条件的模块、信号线、端口等

函数Objects = find_system(System,Name,Value)
输入参数1)System——模型名称;2)Name,Value——搜索条件的名称、值,可以输入多组名称、值
返回值1)Objects——符合搜索条件的模块路径的元胞数组

例如,搜索出demo.slx模型中所有的Gain模块
在这里插入图片描述

>> GainCell = find_system('demo','BlockType','Gain') %搜索出demo.slx模型中所有的Gain模块GainCell =2×1 cell 数组{'demo/Gain' }{'demo/Gain1'}

1.2 获取模块指定参数的值

函数ParamValue = get_param(Object,Parameter)
输入参数1)Object——模块路径,即find_system输出参数;2)Parameter——模块参数
返回值1)ParamValue——模块参数的值

例如,获取demo/Gain模块的输出数据类型

>> OutDataTypeStr = get_param('demo/Gain','OutDataTypeStr')  %获取demo/Gain模块的输出数据类型OutDataTypeStr ='Inherit: Inherit via internal rule'

1.3 设置模块指定参数的值

函数set_param(Object,ParameterName,Value)
输入参数1)Object——模块路径,即find_system输出参数;2)Parameter——模块参数;3)参数值
返回值

例如,设置demo/Gain模块的输出数据类型为single

>> set_param('demo/Gain','OutDataTypeStr','single') %设置demo/Gain模块的输出数据类型为single
>> OutDataTypeStr = get_param('demo/Gain','OutDataTypeStr')OutDataTypeStr ='single'

2 常见问题

2.1 参数名称在脚本中对应的字符串是什么

章节1.2的示例中,Gain模块的输出数据类型是’OutDataTypeStr’,这个字符串是从哪里知道的呢?有以下两种途径获得。
1)右键模块Gain——Properties——Block Annotation,可以在左边的列表框中看到该模块的所有属性,找到相应的即可。
模块属性列表
2)双击模块——找到填写相应参数的地方——右键What’s This?——弹出的帮助窗口拉到最下面——Block Parameter右边写的就是了
在这里插入图片描述

2.2 只想搜索模型顶层的模块怎么办

只想搜索出顶层系统的输入端,不想搜索子系统,可以通过find_system的’SearchDepth’参数来控制。
例如,把前文的demo创建子系统,如下图:
在这里插入图片描述
通过给find_system传入’SearchDepth’为1的参数,即可只搜索顶层模块:

>> InportCell = find_system('demo','BlockType','Inport') %搜索所有Inport模块InportCell =4×1 cell 数组{'demo/In1'          }{'demo/In2'          }{'demo/Subsystem/In1'}{'demo/Subsystem/In2'}>> InportCell = find_system('demo','SearchDepth',1,'BlockType','Inport') %只搜索顶层Inport模块InportCell =2×1 cell 数组{'demo/In1'}{'demo/In2'}

3 参考资料

[1]https://ww2.mathworks.cn/help/simulink/slref/find_system.html?s_tid=doc_ta
[2]https://ww2.mathworks.cn/help/simulink/slref/get_param.html?s_tid=doc_ta

>>返回个人博客总目录

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



http://www.chinasem.cn/article/1132869

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

Spring @RequestMapping 注解及使用技巧详解

《Spring@RequestMapping注解及使用技巧详解》@RequestMapping是SpringMVC中定义请求映射规则的核心注解,用于将HTTP请求映射到Controller处理方法... 目录一、核心作用二、关键参数说明三、快捷组合注解四、动态路径参数(@PathVariable)五、匹配请

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

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

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

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

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