how fined vector index
1 view (last 30 days)
Show older comments
lech king on 18 Jan 2021
Commented: lech king on 22 Jan 2021
I have a vector of 60,000 x 1, each part containing the values 0-9
What do I need to do to find out in which cells, for example, the value is 1?
The goal is to have an index of cells equal to 1
@Jan I didn't know whether OP wanted a more complicated solution, so I just suggested this simplified version to see if it'll serve their purpose. I'll put it up as the answer.
Even though OP says "cells", based on their response to my comment, it seems that they were talking about simple vectors after all. In which case the following code:
myVector = randi([0,9],60e3,1); % vector of 60,000x1 containing integers between 0 and 9
linearIdx = find(myVector == 1); % linear indices of elements equal to 1
will work (in the second line, 1 can be substituted for whatever number is required).
It would be a good idea to look at ind2sub if you plan to also use matrices (instead of just vectors) some day.
Also, most applications support logical indexing, which is faster and uses less memory than linear indexing, so maybe look that up too.
More Answers (0)
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!