how to get index position of rows
1 view (last 30 days)
Show older comments
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
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?
Accepted Answer
Andrei Bobrov
on 5 Mar 2014
Edited: Andrei Bobrov
on 5 Mar 2014
[l0,idx] = ismember(tempfea,dbfea,'rows');
out = idx(l0);
0 Comments
More Answers (0)
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!