How to read all mat files in folder and save plot as image

3 views (last 30 days)
Med Future
Med Future on 2 Jun 2022
Answered: Image Analyst on 2 Jun 2022
Hello everyone, i hope you are doing well. i have the following 100 .mat files in folders.
i want to save the plot of all .mat files as image.
I have implement the following code for single mat file
S = load('C:\Users\DELL\Documents\MATLAB\Examples\R2021b\deeplearning_shared\ModulationClassificationWithDeepLearningExample\Dataset1\frame8PSK001.mat');
plot(real(S.frame))
set(gca,'visible','off')
  2 Comments
Med Future
Med Future on 2 Jun 2022
@Stephen23 i want to read all mat files from folder then plot real of the mat file and saves the plot as images as i done for one file in above code

Sign in to comment.

Answers (2)

Mathieu NOE
Mathieu NOE on 2 Jun 2022
hello
you can try / build your solution based on this example
here I wanted all data being in one single plot so I concatenated all the files data in one output array. You can of course avoid this step and plot individually each file and save it
fileDir = pwd; % this directory
fileNames = dir(fullfile(fileDir,'frame*.mat')); % get list of data files in directory
fileNames_sorted = natsortfiles({fileNames.name}); % sort file names into natural order
% (download FEX : https://fr.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort)
M= length (fileNames_sorted);
time1 = [];
signal1 = [];
for f = 1:M
S = load(fullfile(fileDir, fileNames_sorted{f}))
% contatenation of all individual files data
time1 = [time1; S.ScopeData1.time];
signal1 = [signal1; S.ScopeData1.signals.values];
end
figure
plot(time1,signal1,'*-')
% save plot
print('MySavedPlot','-dpng')

Image Analyst
Image Analyst on 2 Jun 2022
To save the plot you can use exportgraphics:
fileName = fullfile(folder, 'frame8PSK001.png');
exportgraphics(gca, fileName);

Community Treasure Hunt

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

Start Hunting!