Cut vector in set range
조회 수: 29 (최근 30일)
이전 댓글 표시
I have about 10 thousand vectors and I want to cut them all to special range set by my min and max . eg. have only vectors from 600 - 1000 values How to implement it in the best efficient way.
댓글 수: 0
채택된 답변
Image Analyst
2013년 8월 11일
Try this for each of the vectors:
minValue = 600; % Or whatever you want.
maxValue = 1000; % Or whatever you want.
indexesInRange = data > minValue & data < maxValue;
subVector = data(indexesInRange);
That will, for a vector called data, extract all the values between minValue (which you can define to be 600) and maxValue (which you can define to be 1000) into a new vector called subVector. Do this 10 thousand times for each of the vectors (most likely done in a loop).
댓글 수: 0
추가 답변 (1개)
Azzi Abdelmalek
2013년 8월 11일
How your vectors are stored? in a cell array? If yes
Example
v=arrayfun(@(x) randi(2000,1,100),1:10,'un',0) % your cell array
for k=1:numel(v)
out{k}=v{k}(v{k}>600 & v{k}<1000)
end
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!