如何将Simulink模型的所有输入输出名称导出到Excel文件中?
我试图编写一个脚本文件,但它只不过是scratch。我希望导入我的Simulink模型的所有输入和输出。
这很简单
model_name = 'port_test';
mdl = load_system(model_name);
inputs = find_system(mdl,'BlockType','Inport');
input_names = arrayfun(@(x) get_param(x,'Name'), inputs,'UniformOutput',false);
outputs = find_system(mdl,'BlockType','Outport');
output_names = arrayfun(@(x) get_param(x,'Name'), inputs,'UniformOutput',false);
load_system
打开感兴趣的系统并返回模型处理find_system
是一个强大的功能(向后兼容)与许多版本的MATLAB,其中将搜索通过一个模型匹配的块/项。它将返回每个句柄的数组对象发现arrayfun
对数组项执行一个函数。get_param
用于获取所查找的每个项目的名称find_system
将创建两个单元格数组(input_names和output_names),并包含由model_name指定的模型顶层的所有输入和输出块的列表。
对于电子表格,我建议使用writable函数的功能。
可以像这样简单
input_table = table(input_names);
writetable(input_table,[model_name '.xlsx'],'Sheet','Inputs');
output_table = table(input_names);
writetable(output_table,[model_name '.xlsx'],'Sheet','Outputs','WriteMode','append');