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

12 views (last 30 days)
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);

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by