how to get index position of rows

1 view (last 30 days)
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
Walter Roberson
Walter Roberson on 5 Mar 2014
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)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!