For Loop - need to iterate values at the same time.
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi there! I am trying to set up for loops that iterate two values at the same time in order to retrieve files with 2 changing variables. My current setup is to do the following (I am trying to use a nested for loop since I know that you cannot do a loop with 2 variables in one):
for x = [1:10]
fstart = 'D:\Michael Files\Data\Run ';
f2 = sprintf('%05d', x);
f3 = '\Ascii\Xxsv00001 ';
for y = [267:277]
fend = sprintf('%03dX.txt', y);
end
fname = [fstart f2 f3 fend];
disp(fname)
end
In the end, this is the output that I get from Matlab. The Run numbers iterate correctly, but I ultimately need the last number to iterate as well:
D:\Michael Files\Data\Run 00001\Ascii\Xxsv00001 267X.txt
...
D:\Michael Files\Data\Run 00010\Ascii\Xxsv00001 277X.txt
If anyone knows a good way to do this I'd really appreciate the help! Thank you so much!!
댓글 수: 0
채택된 답변
Kevin Holly
2021년 8월 27일
for x = [1:10]
fstart = 'D:\Michael Files\Data\Run ';
f2 = sprintf('%05d', x);
f3 = '\Ascii\Xxsv00001 ';
y = 266+x;
fend = sprintf('%03dX.txt', y);
fname = [fstart f2 f3 fend];
disp(fname)
end
댓글 수: 2
Stephen23
2021년 8월 27일
Note that FULLFILE is recommended (rather than concatenating strings together):
추가 답변 (1개)
the cyclist
2021년 8월 27일
Even easier:
for x = 1:10
fname = sprintf('D:\\Michael Files\\Data\\Run %05d\\Ascii\\Xxsv00001 %03dX.txt',x,x+266);
disp(fname)
end
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!