How to access data set from different folders?

조회 수: 12(최근 30일)
SM 2020년 7월 20일
댓글: SM 2020년 7월 20일
I can easily access .dat files from the current directory by using the following codes:
%% Input data set
load ProcMacMatrix.dat % load the file
load SuppMacMatrix.dat % load the file
load CostMatrix.dat % load the file
load Dataset.dat % load the file
load ProcessingTime.dat % load the file
My problem needs to access the similar data set, as described, from the Instance1 and Instance2. First, I want to access from the Instance1 and then Instance2. We may use for loop to access these two folders subsequently.
How can i do that?
I appreciate your help.

채택된 답변

Walter Roberson
Walter Roberson 2020년 7월 20일
finfo = dir('Instance*');
finfo(~[finof.isfolder]) = [];
foldernames = {};
ninst = length(foldernames);
instance_data(ninst) = struct();
for K = 1 : ninst
thisfolder = foldernames{K};
instance_data(K).ProcMacMatrix = load(fullfile(thisfolder, 'ProcMacMatrix.dat')); % load the file
%and similar for the other files
  댓글 수: 1
SM 2020년 7월 20일
Perfect! Thank you very much!

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Image Analyst
Image Analyst 2020년 7월 20일
Get a list of all files under the current folder like this:
filePattern = fullfile(pwd, '**/*.mat');
fileList = dir(filePattern);
for k = 1 : length(fileList)
thisFullfileName = fullfile(fileList(k).folder, fileList(k).name);
fprintf('Processing %s\n', thisFullfileName);
s = load(thisFullfileName)

Community Treasure Hunt

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

Start Hunting!

Translated by