matlab - 将 SIMULINK 组件中指定的数据提取到 MATLAB
问题描述
再会,
该问题与获取指定 SIMULINK 中组件特性的数据有关。
我在 SIMULINK 中有太阳能模块块。
当我双击它时,会显示许多参数。
用户可以更改这些参数。例如,Voc、Isc、Vm 和 Im。
SIMULINK 库中有数千个光伏组件。我想收集大约 100 个光伏组件的一些数据,以便对光伏组件进行一些统计。
例如,我想创建一个 Excel 表格,其中包含 PV 模块中显示的所有参数,包括 Pm、Vm、Im、Voc、Isc、IL、Rs 等。
这些在下图中突出显示:
我知道我可以通过单击光伏模块并手动填写 Excel 文件来轻松完成,但这将需要很长时间,因为我必须查看大约 100 个光伏模块并手动填写,这很无聊并且可能还会受到填写数据时出错。
有没有更简单的方法来获取这些数据?
我能否以某种方式将这些数据(上图中的正方形包围)保存在工作区或 MATLAB 中的任何位置,以便我只需将每个 PV 模块的数据复制并粘贴到 Excel 文件中,这样我就可以避免在 Excel 中手动写入这些值。
问候
解决方案
您可以使用带有 get_param 命令的 matlab 脚本来执行此操作。
你应该做的是:
- 在 Simulink 模型中查找 PV 模块类型的所有模块
例如,这将为您提供当前打开的 Simulink 模型中的常量模块:
% Find all the constants within the model
ConstList = find_system(bdroot,'SearchDepth',1,'BlockType','Constant');
请注意,SearchDepth 参数告诉您这些模块在子系统中的深度,请根据模块的位置进行修改。
-遍历列表的每个元素并获取参数的值:
% Get the number of blocks
l = length(ConstList);
% Loop to get the parameter
for i = 1:l
Value(i) = get_param(ConstList(i),'Value');
end
在您的情况下,您有多个参数,因此您必须创建一个表而不是单个数组。
一旦你在 matlab 变量中有值,就很容易将它们导出到 excel 中。
推荐阅读
- angularjs - 使用 ui-router 的基于组件的路由 | AngularJS
- javascript - 箭头函数中的“this”是否与该箭头函数之外的“var that = this”中的“that”相同?
- android - MVVM Recyclerview Livedata Room SearchView
- generics - 通用 JSON 反序列化
- javascript - 使用原型继承与委托模式
- excel - 对象变量或未设置块 - 用户窗体
- .htaccess - 如何从 htaccess 中的 HTTP_REFERER 获取域
- visual-studio-code - 在 Visual Studio Code 中,我可以在 tasks.json 中引用 c_cpp_properties.json 中的配置元素吗?
- php - 在 WordPress 上使用复制器插件安装克隆站点时,为什么会出现安装错误,指出“wp-config.php 为空”?
- java - 如何在 Java 中向下转换数组?(多态性)