How to save indices of a certain region of a matrix

15 ビュー (過去 30 日間)
Ahmad Hasnain
Ahmad Hasnain 2020 年 3 月 3 日
コメント済み: Ahmad Hasnain 2020 年 3 月 3 日
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?

採用された回答

M
M 2020 年 3 月 3 日
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

その他の回答 (1 件)

Bhaskar R
Bhaskar R 2020 年 3 月 3 日
ind = find(ismember(A(:), B(:)))
  1 件のコメント
Ahmad Hasnain
Ahmad Hasnain 2020 年 3 月 3 日
Thanks, both the answers solved my problem.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by