How to load different data files in a for loop

조회 수: 4 (최근 30일)
Yvonne Visser
Yvonne Visser 2015년 2월 16일
댓글: Yvonne Visser 2015년 2월 19일
I am trying to do an analysis on 6 different sets of data with the names log_1 - log_6. I put the analysis in a for loop but can't get MATLAB to load the next file for each iteration. Basically, this is what I want to do:
for n=1:6
load log_n.mat
*rest of analysis*
*calculation* = newvariable(n)
end
to create an array called newvariable with the outcome for each set of data in it. But MATLAB gives the following error:
Error using ==> load
Unable to read file log_n.mat: No such file or directory.
which makes sense because log_n doesn't exist.
How do I load the different files in the for loop so the analysis will be done on the right data?
  댓글 수: 1
Stephen23
Stephen23 2015년 2월 16일
편집: Stephen23 2015년 2월 16일
Learn about sprintf , it makes this easy!

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

채택된 답변

Jos (10584)
Jos (10584) 2015년 2월 16일
for n=1:6,
filename = sprintf('log_%d.mat',n)
S = load(filename)
% S is a structure with the variables inside the mat file as its fields.
% If you expect a variable called V, you can check this using ISFIELD
if isfield(S,V)
% ...
else
disp(['The file "' filename '" did not contain the variable "' V '"']) ;
end
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by