find index of a matrix through another matrix
Show older comments
I have this matrix A = [1 3 4 6 7] and B = [3 4] that it's a subset of A matrix. For example I would find the index of B matrix through A matrix. Having 3 as number I would know the index of 3 in matrix B.How can I do?
Answers (3)
Azzi Abdelmalek
on 21 Sep 2012
Edited: Azzi Abdelmalek
on 21 Sep 2012
B = [3 4]
idx=find(B==3)
2 Comments
Azzi Abdelmalek
on 21 Sep 2012
you have asked about index in B , what about A?
Salvatore Mazzarino
on 21 Sep 2012
per isakson
on 21 Sep 2012
Edited: per isakson
on 21 Sep 2012
This is possible if A and B are whole numbers
A = [ 1, 3, 4, 6, 7 ];
B = [ 3, 4 ];
ix1 = strfind( A, B );
ix2 = ix1 + numel(B) - 1;
all( B == A(ix1:ix2) )
If I understood you correct
Image Analyst
on 21 Sep 2012
0 votes
Actually I thought first that what you meant was what per answered, but then I read your response to Azzi. I'm not sure you worded this correctly but when Azzi asked about it, you seemed to indicate it was worded exactly as you wanted. So in that case, I guess that would mean that if B is in A, the index of B (and you did say in B, not A) would always be 1. If B is not in A then there is no solution - obviously since B is not in A.
Categories
Find more on Matrix Indexing 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!