首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将SIMULINK组件中指定的数据提取到MATLAB

将SIMULINK组件中指定的数据提取到MATLAB
EN

Stack Overflow用户
提问于 2020-05-09 05:03:35
回答 1查看 97关注 0票数 0

日安,

该问题与获取指定SIMULINK中组件特征的数据有关。

我在SIMULINK中有太阳能模块模块。

当我双击它时,会显示许多参数。

这些参数可以由用户更改。例如,Voc、Isc、Vm和Im。

SIMULINK库中有数千个光伏模块。我想收集大约100个光伏组件的一些数据,以便做一些关于光伏组件的统计。

例如,我想创建一个包含PV模块中显示的所有参数的Excel工作表,这些参数包括Pm、Vm、Im、Voc、Isc、IL、Rs…等。

它们在下图中高亮显示:

PV module

我知道我可以通过点击PV模块并手动填充Excel文件来轻松完成,但这将需要很长时间,因为我必须看到大约100个PV模块并手动填充,这很无聊,而且在填充数据时可能也会出现错误。

有没有更简单的方法来获取这些数据?

我能否以某种方式将这些数据(上图中由方块包围)保存在工作区或MATLAB中的任何位置,以便我只需将数据从每个PV模块复制并粘贴到Excel文件中,这样我就可以避免在Excel中手动写入这些值。

问候

EN

回答 1

Stack Overflow用户

发布于 2020-05-13 15:42:40

您可以使用matlab脚本和get_param命令来完成此操作。

你应该做的是:

  • 在Simulink模型中查找PV数据块类型

的所有数据块

例如,这将为您提供当前打开的Simulink模型中的常量块:

代码语言:javascript
运行
复制
% Find all the constants within the model
ConstList = find_system(bdroot,'SearchDepth',1,'BlockType','Constant');

请注意,SearchDepth参数告诉您这些块在子系统中可以有多深,请根据您的块的位置修改此参数。

对列表中的每个元素执行-Go操作,并获取参数的值:

代码语言:javascript
运行
复制
% 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中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61688055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档