How to save indices of a certain region of a matrix

24 visualizaciones (últimos 30 días)
Ahmad Hasnain
Ahmad Hasnain el 3 de Mzo. de 2020
Comentada: Ahmad Hasnain el 3 de Mzo. de 2020
I have a matrix, let's say A
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];
I have another matrix, let's say B
B = A(3:end,3:end);
This is how I can simple save B. But instead of saving the values of B. I want to save the indices of B that were in A.
Indices of B in A are 11,12,15 and 16.
How can I do it by using some matlab command?

Respuesta aceptada

M
M el 3 de Mzo. de 2020
I am not sure if I understood your question but here is a second simple example:
A = [10 11 12;13 14 15; 16 17 18];
B = [14 15; 17 18];
You can see that B is member of A:
idx = ismember(A,B)
idx =
3×3 logical array
0 0 0
0 1 1
0 1 1
And you can get the indices of B in A:
find(idx)
ans =
5
6
8
9

Más respuestas (1)

Bhaskar R
Bhaskar R el 3 de Mzo. de 2020
ind = find(ismember(A(:), B(:)))

Categorías

Más información sobre Multidimensional Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by