how to get index position of rows

i have a 2 matrix, matrix1 with dimension 2100*128 and matrix2 with dimension 16*128... i wanted to get the index positions of those rows which matches with matrix1, i did as below
for v = 1:k
inds = find(dbfea(1:2100,1:128)==tempfea(v,1:128));
neighindex(v,1) = inds(1);
end
but i'm getting error as
??? Error using ==> eq
Matrix dimensions must agree.
Error in ==> MainGUI>Retrieval_pushbutton_Callback at 304
inds = find(dbfea(1:2100,1:128)==tempfea(v,1:128));
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> MainGUI at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
@(hObject,eventdata)MainGUI('Retrieval_pushbutton_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
what should i do to rectify it....

2 Comments

You want to match rows against corresponding rows? Or you want to check if a row is found in any of the rows in the other matrix?
Elysi Cochin
Elysi Cochin on 5 Mar 2014
Edited: Elysi Cochin on 5 Mar 2014
i want to check if a row is found in any of the rows in the other matrix
sir but what is the difference between the 2 questions you asked....

Sign in to comment.

 Accepted Answer

Andrei Bobrov
Andrei Bobrov on 5 Mar 2014
Edited: Andrei Bobrov on 5 Mar 2014
[l0,idx] = ismember(tempfea,dbfea,'rows');
out = idx(l0);

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!