read multiple mat files with Simulink

I want to load multiple data with Simulink.
I know there is a from file block in Simulink.
But from file block can read only one data.
I want to read multiple data,so I think to use MATLAB Function block.
Please tell me a solution.

Answers (1)

Suman
Suman on 26 Jul 2024
Yes since you want to load multiple .mat files, it is best to use a MATLAB function block.
Here is a simple example code:
function data = readMatFiles()
matFiles = {'file1.mat', 'file2.mat', 'file3.mat'};
%an empty array or structure to hold the data
data = [];
for i = 1:length(matFiles)
fileData = load(matFiles{i});
if isempty(data)
data = fileData;
else
data = [data; fileData];
end
end
end
You should be careful about few points when using MATLAB Function block to load data:
  • Data Format: Ensure that the data format in the .mat files is consistent and compatible with how you intend to use it in Simulink.
  • File Paths: If your .mat files are not in the current working directory, provide the full path to each file.
  • Performance: Loading multiple .mat files can be time-consuming if the data is very large. You might consider loading the data into model workspace at model load time and then using the data as required.

Categories

Products

Asked:

SS
on 8 Aug 2022

Answered:

on 26 Jul 2024

Community Treasure Hunt

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

Start Hunting!