Borrar filtros
Borrar filtros

How can I make a loop inside a loop k time

1 visualización (últimos 30 días)
muly san
muly san el 15 de Ag. de 2013
For example:
I want to create fonction that get matrix: A=[3 5 6]
and do the next steps:
for i1=1:A(1); for i2=1:A(2); for i3=1:A(3); B=[i1 i2 i3]; end end end
But the length of A can vary. thank you

Respuestas (2)

Andrei Bobrov
Andrei Bobrov el 15 de Ag. de 2013
Editada: Andrei Bobrov el 15 de Ag. de 2013
Use function fullfact from Statistics Toolbox
B = fullfact(A);
or
a = arrayfun(@(x)1:x,A,'un',0);
[i3,i2,i1] = ndgrid(a{end:-1:1});
B = [i1(:),i2(:),i3(:)];
or
B = zeros(prod(A),3);
k = 1;
for i1 = 1:A(1)
for i2 = 1:A(2)
for i3 = 1:A(3)
B(k,:) = [i1,i2,i3];
k = k +1;
end
end
end

muly san
muly san el 15 de Ag. de 2013
thank you.
It was just an example. I want to know how to do the loop inside a loop k time anyway.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by