Hello! Please, how can I implement an iteration, such that a first loop executes a series of expressions within a range of (32) values and a second loop executes a series of expressions within another range of(16) values for each result of the first iteration. the result of this would be 512 iterations. Thank u.

1 commentaire

Walter Roberson
Walter Roberson le 31 Mar 2011
Are the values independent or does the first loop need to complete before the second loop could start?

Connectez-vous pour commenter.

 Réponse acceptée

the cyclist
the cyclist le 31 Mar 2011

0 votes

I guess you mean nested loops?
for ni=1:32
for nj=1:16
% Do something here?
end
end

4 commentaires

Walter Roberson
Walter Roberson le 31 Mar 2011
Or maybe
parfor ni=1:32
for nj=1:16
%do something here?
end
end
But that presumes that each if the nj loops does not need results from a different ni loop, a point I explicitly questioned.
Depending what exactly has to be done, this might even be a case for co-distribution using for ni = drange(1:32)
God'sSon
God'sSon le 31 Mar 2011
thanks, but for my code, the nj loops needs the results from the ni loop. ie, after the ni loop completes its 32 iterations, the nj loop should perform 16 iterations for each of the 32 results from ni.
Walter Roberson
Walter Roberson le 31 Mar 2011
parfor ni=1:32
%do first thing here
end
parfor ni=1:32
for nj=1:16
%do second thing here
end
end
It would, though, not surprise me if the first parfor would be more efficient as a for loop -- depends how much work is done in the first part.
God'sSon
God'sSon le 31 Mar 2011
I did away with the parfor loops and got it running using only for-loops in all the cases.
Thanks u very much!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by