For Loop - need to iterate values at the same time.

1 visualización (últimos 30 días)
Michael Vaccaro
Michael Vaccaro el 27 de Ag. de 2021
Comentada: Michael Vaccaro el 27 de Ag. de 2021
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
D:\Michael Files\Data\Run 00001\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00002\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00003\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00004\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00005\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00006\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00007\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00008\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00009\Ascii\Xxsv00001 277X.txt D:\Michael Files\Data\Run 00010\Ascii\Xxsv00001 277X.txt
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!!

Respuesta aceptada

Kevin Holly
Kevin Holly el 27 de Ag. de 2021
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 comentarios
Michael Vaccaro
Michael Vaccaro el 27 de Ag. de 2021
Thank you so much! I was overthinking it!
Stephen23
Stephen23 el 27 de Ag. de 2021
Note that FULLFILE is recommended (rather than concatenating strings together):

Iniciar sesión para comentar.

Más respuestas (1)

the cyclist
the cyclist el 27 de Ag. de 2021
Even easier:
for x = 1:10
fname = sprintf('D:\\Michael Files\\Data\\Run %05d\\Ascii\\Xxsv00001 %03dX.txt',x,x+266);
disp(fname)
end

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by