I have a vector A consisting of 200 elements, and I need to create new vectors made of elements of A that are bigger than a particular threshold but I need these new vectors to be named different from each other as to carry some procedure on them.
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a vector A consisting of 200 elements, and I need to create new vectors made of elements of A that are bigger than a particular threshold but I need these new vectors to be named different from each other as to carry some procedure on them.
댓글 수: 0
답변 (2개)
Azzi Abdelmalek
2016년 4월 5일
A=[ 1 4 58 8 10]
B=A(A>4)
댓글 수: 5
James Tursa
2016년 4월 5일
It is not working because A(i) is presumably a scalar (you don't define A) but the result of Z(Z>Z(i)) is in general a vector. If you use cell arrays per my advice below you could do this:
A = cell(10,1);
for i=1:10;
A{i} =Z(Z>Z(i));
end
Then downstream you can access A{i} in a loop easily.
Azzi Abdelmalek
2016년 4월 5일
Z=[6 7 8 5 6 7 8 3 2 4]'
A=cell(size(Z));
for i=1:10;
A{i} =Z(Z>Z(i));
end
celldisp(A)
James Tursa
2016년 4월 5일
Don't do that. Use cell arrays instead, which are much easier to maintain and access in a loop. See this link:
댓글 수: 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!