How can I make a loop inside a loop k time
조회 수: 11 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
답변 (2개)
Andrei Bobrov
2013년 8월 15일
편집: Andrei Bobrov
2013년 8월 15일
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!