Как я могу экспортировать имена всех входных и выходных данных модели Simulink в файл Excel?
Я пытался закодировать файл сценария, но это не более чем царапина. Я ожидаю импортировать все входные и выходные данные моей модели 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.
Для записи в электронную таблицу я бы предложил использовать возможности функции writetable.
Может быть что-то простое, как это
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');