how fined vector index

조회 수: 2 (최근 30일)
lech king
lech king 2021년 1월 18일
댓글: lech king 2021년 1월 22일
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
  댓글 수: 4
Jan
Jan 2021년 1월 19일
@ARK: Please post this as an answer, not as a comment. Then we can vote for it and select it as accepted asnwer.
Athrey Ranjith Krishnanunni
Athrey Ranjith Krishnanunni 2021년 1월 20일
@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.

댓글을 달려면 로그인하십시오.

채택된 답변

Athrey Ranjith Krishnanunni
Athrey Ranjith Krishnanunni 2021년 1월 20일
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.
  댓글 수: 1
lech king
lech king 2021년 1월 22일
Thank you Thank you very much

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

태그

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by