How to repeat something for multiple range of intervals?

3 Ansichten (letzte 30 Tage)
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 Kommentare
Tommy
Tommy am 20 Apr. 2020
Bearbeitet: Tommy am 20 Apr. 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 am 20 Apr. 2020
Thank sir! But I will use Ameer Hamza's answer so I dont have to copy-paste 27 times! Appreciate it anyway!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 20 Apr. 2020
Bearbeitet: Ameer Hamza am 20 Apr. 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(:);

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by