how to find index from matrix in another matrix?
2 views (last 30 days)
Show older comments
Hi all,
I have two different 3d matrices (A=72*46*2192) and (B=72*46*2192), in which I want to find the indices equal to 4 and 5 from A in B.
The result should be a 3d matrix as well, not linear indices.
Any help would be appreciated.
2 Comments
Answers (1)
Fangjun Jiang
on 26 Jul 2022
Edited: Fangjun Jiang
on 27 Jul 2022
%C is the logical index matrix.
A=zeros(2,3,4);
A(:,:,4)=4;
A(:,3,4)=5;
C=or(A==4,A==5)
%To use it to select corresponding elements in B
B=rand(2,3,4);
B_select=B(C)
LinearIndex=find(C);
[SubX,SubY,SubZ]=ind2sub(size(C),LinearIndex)
2 Comments
Fangjun Jiang
on 27 Jul 2022
See the updated answer to understand
- Logical index
- Linear index
- Subscript index
See Also
Categories
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!