import data from excel into an s-function

조회 수: 3 (최근 30일)
fairouz rafai
fairouz rafai 2022년 7월 15일
답변: Tejas 2024년 12월 27일
I need to write a Matlab script that reads inputs and their type from a an excel file an create a new simulink model and add inputs and define their type

답변 (1개)

Tejas
Tejas 2024년 12월 27일
Hello Fairouz,
To read data from an Excel file, the 'readtable' function can be used. Below is a syntax on how to utilize this function. More information on the function, can be found in the documentation: https://www.mathworks.com/help/matlab/ref/readtable.html
filename = 'inputs.xlsx';
inputData = readtable(filename);
For creating a Simulink model with input blocks and modifying their parameters using a MATLAB script, here is an example to guide you through the process. In this example, the input from the Excel file includes the names for the 'Constant' blocks, their values, and their data types.
  • Start by creating a Simulink model.
modelName = 'AutoGeneratedModel';
new_system(modelName);
open_system(modelName);
for i = 1:height(inputData)
inputName = inputData.InputName{i};
dataType = inputData.DataType{i};
value = num2str(inputData.Value(i));
blockName = ['Constant', num2str(i)];
blockPath = [modelName, '/', blockName];
add_block('simulink/Sources/Constant', blockPath, 'MakeNameUnique', 'on');
set_param(blockPath, 'Name', inputName);
set_param(blockPath, 'OutDataTypeStr', dataType);
set_param(blockPath, 'Value', value);
end
  • Re-arrange the blocks and save the model.
Simulink.BlockDiagram.arrangeSystem(modelName);
save_system(modelName);
close_system(modelName);

카테고리

Help CenterFile Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by