Automatically loading the .mat file

8 views (last 30 days)
I am working on following code .In the code I am manually loading the matlab file .But know the cases are increases to 27 mat files. can someone help me in automating the process means automatically loading the matlab file from a specific folder and then storing in the excel file .Can someone please help me this . Thank you in advance . Automatically loading means loading the file from the specific folder . without manually loading . For eg in folder ABC I have mat file AAA.mat , BBB.mat , CCC.mat ...So first AAA.mat should load then store the data in excel file (the code that I used) , then BBB.mat & so on ... Thanks in advance
filenames={'AAA.mat','BBB.mat','CCC.mat'}
n = numel(filenames) ;
A = zeros([],n) ;
for i = 1:numel(filenames)
load(filenames{i})
CO= CO_sim_mass_cum;
NOx=NOx_sim_mass_cum;
nmHC= nmHC_sim_mass_cum;
for j = 1:length(CO)
A(j,i) = THC(j);
end
for k= 1:length(NOx)
B(k,i)=NOx(k);
end
for l= 1:length(nmHC)
C(l,i)=nmHC(l);
end
end
xlswrite('e.xlsx',[A,B,C])

Accepted Answer

Walter Roberson
Walter Roberson on 2 Feb 2022
dinfo = dir('*.mat');
filenames = {dinfo.name};
  3 Comments

Sign in to comment.

More Answers (1)

Yongjian Feng
Yongjian Feng on 1 Feb 2022
For "automatically loading", you most likely mean generating the file names in a loop?
Try this:
num_case = 26;
files={};
for i=1:num_case
filename = ['C1_H1_C2_case' num2str(i) '_WLTC_']; % something else at the end? Not shown in the attached screenshot
files{end+1} = filename;
end
  7 Comments
Prasad Joshi
Prasad Joshi on 9 Feb 2022
yongjian san can you answer the below question thank you in advance .. it would be higly helpful

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by