How to repeat something for multiple range of intervals?

2 visualizaciones (últimos 30 días)
How do I do this without repeating it multiple times?
for i = 1:359
do something
end
for i = 1+(1440*1):359+(1440*1)
do something
end
for i =1+(1440*2):359+(1440*2)
do something
end
.
.
.
for i =1+(1440*27):359+(1440*27)
do something
end
  4 comentarios
Tommy
Tommy el 20 de Abr. de 2020
Editada: Tommy el 20 de Abr. de 2020
Possibly this?
idx = [1:359 1+(1440*1):359+(1440*1) 1+(1440*2):359+(1440*2) 1+(1440*27):359+(1440*27)];
for i = idx
%do something
end
(edit) Ah I completely missed the dots...
Thanathip Boonmee
Thanathip Boonmee el 20 de Abr. de 2020
Thank sir! But I will use Ameer Hamza's answer so I dont have to copy-paste 27 times! Appreciate it anyway!

Iniciar sesión para comentar.

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 20 de Abr. de 2020
Editada: Ameer Hamza el 20 de Abr. de 2020
Extending the method suggested by Tommy, instead of writing each set manually, you can use this
idx = (1:359).' + (0:1440:1440*27);
idx = idx(:);
for i = idx
% do something
end
For versions older then R2016b
idx = bsxfun(@plus, (1:359).', (0:1440:1440*2));
idx = idx(:);

Más respuestas (0)

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by