Varying number of nested loops

2 visualizaciones (últimos 30 días)
ANOOP VK
ANOOP VK el 22 de Dic. de 2017
Comentada: ANOOP VK el 26 de Dic. de 2017
I have the results of simulation in table format. Were the variables are the columns of the table. For example ,
Here I need to plot Histogram for Result for all the combinations of corner, voltage and temperature (two unique values for each hence eight combinations). In this case I can do it by three nested for loops . However the number of variables will depend upon the input data. That is , in another simulation I may have more columns added up. For example, one more column "Resistance" added up with two unique values (50,100). Now I have 2^4 = 16 combinations available. Hence four nested loops .
Is there any way to read these number of columns and generate that many nested loops? Or is there any other better way to do this.

Respuesta aceptada

Jos (10584)
Jos (10584) el 22 de Dic. de 2017
% small example, last column is result, first columns define combinations
DATA = [1 2 4 ; 1 3 15 ; 1 2 6 ; 1 2 8 ; 1 3 25]
[UniqueCombis, ~, IDX] = unique(DATA(:,1:size(DATA,2)-1), 'rows')
% now you can use IDX to pick from the last column of DATA
for k = 1:size(UniqueCombis,1)
tmpResult = DATA(IDX==k,end) ;
disp(sum(tmpResult))
end
% count how many times each combi is present in DATA
N = accumarray(IDX,1)
disp([UniqueCombis N(:)])
% etcetera ...
  1 comentario
ANOOP VK
ANOOP VK el 26 de Dic. de 2017
Hi. Could you please give more clarity on what is happening in this line [UniqueCombis, ~, IDX] = unique(DATA(:,1:size(DATA,2)-1), 'rows')
Thank you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Distribution Plots en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by