Comparing matrices with different dimensions
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Mahi Nazir
am 27 Sep. 2013
Beantwortet: dpb
am 27 Sep. 2013
I have a matrix [row, col, vector] with a large number of entries for row, col and vector.
I have another matrix [x, y] with few entries.
I want to derive a matrix [xr, yc, zv] for all the values for which (x==row and y==col) and zv should be the corresponding value of 'vector' for which (x=row and y=col)
e.g:
[row col vector]= 2 2 4;
3 2 6;
7 1 8;
5 2 3;
8 1 7;
[x y]= 3 2;
8 1
then, [xr yc zv] should equal = 3 2 6;
8 1 7
Your help will be greatly appreciated. Thanks!
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 27 Sep. 2013
Use ismember() with the rows option:
m= [2 2 4;
3 2 6;
7 1 8;
5 2 3;
8 1 7]
m2= [3 2;
8 1
7 3]
matches = ismember(m(:,1:2), m2, 'rows')
out = m(matches,:)
Weitere Antworten (1)
dpb
am 27 Sep. 2013
Since your values are in the first two columns, it's fairly easily written...
>> res=a(ismember(a(:,1:2),v,'rows'),:)
res =
3 2 6
8 1 7
>>
0 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!