How to find single index values in a matrix?

4 次查看(过去 30 天)
B1 = [2 4 6 8; 10 12 14 16; 18 20 22 24; 26 28 30 32]
idx_8=find(B1==8)
[row,column]=find(B1~=8)
RowColumn = [row:column]
Find the single index values for 26, 4, and 28?
How is a matrix indexed with single indexing values?
  3 个评论
Dalton Houghton-Schaffer
Is that the code to find single index values? And do I insert anything to the matrix [was_found]?
Walter Roberson
Walter Roberson 2019-9-9
[was_found, idx] = ismember([26 4 28], B1);
will assign to two variables: was_found and idx. was_found will be true for each element of [26 4 28] that was located somewhere in B1, and will be false for any element that was not found in B1. idx will be 0 for any element that was not found, and otherwise will be the index of the "first" location of the value in B1. idx will be a "linear index"

请先登录,再进行评论。

采纳的回答

madhan ravi
madhan ravi 2019-9-9
编辑:madhan ravi 2019-9-9
Linear_indices = find(ismember(B1,[26 4 28])); % you mean linear indices by saying single indices
B1(Linear_indices) % would give [26 4 28]
  5 个评论
madhan ravi
madhan ravi 2019-9-9
Ok so don't expect me to delete my answer though.
Bruno Luong
Bruno Luong 2019-9-9
编辑:Bruno Luong 2019-9-9
No IMO you should keep it. The difference is interesting to highlight.

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2019-9-9
[was_found, idx] = ismember([26 4 28], B1);
will assign to two variables: was_found and idx. was_found will be true for each element of [26 4 28] that was located somewhere in B1, and will be false for any element that was not found in B1. idx will be 0 for any element that was not found, and otherwise will be the index of the "first" location of the value in B1. idx will be a "linear index"

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by