Automatically loading the .mat file

8 次查看(过去 30 天)
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])

采纳的回答

Walter Roberson
Walter Roberson 2022-2-2
dinfo = dir('*.mat');
filenames = {dinfo.name};
  3 个评论
Prasad Joshi
Prasad Joshi 2022-2-3
dinfo = dir('*.mat');
filenames = {dinfo.name};
filenames_sort=natsortfiles(filenames)
n = numel(filenames_sort) ;
A = zeros([],n) ;
for i=1:numel(filenames_sort)
load(char(filenames_sort(i)))
end
detail code if anyone needed .. Thank you Walter & Yongjian san for your support

请先登录,再进行评论。

更多回答(1 个)

Yongjian Feng
Yongjian Feng 2022-2-1
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 个评论

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by