Dynamic-Calibration/utils/YALMIP-master/extras/findrows.m

33 lines
890 B
Matlab
Executable File

function k = findrows(A, b)
%FINDROWS Find indices of a given row within a matrix.
%
% FINDROWS(A, B) returns a column vector with the indices of the rows
% in the matrix A that are identical to the row vector B. If no rows
% in A are identical to B, an empty vector is returned.
%
% The methods uses a for-loop, but it uses less memory and is in many
% cases a lot faster than the vectorized methods
%
% find( all( A == repmat(b, size(A, 1), 1), 2 ) )
% find( all( A == b(ones(size(A, 1), 1),:), 2 ) )
%
% See also FIND, FINDCOLS.
% Author: Peter J. Acklam
% Time-stamp: 2002-03-03 13:51:15 +0100
% E-mail: pjacklam@online.no
% URL: http://home.online.no/~pjacklam
if isempty(A)
k = [];
return
end
k = find( A(:,1) == b(1));
top = size(A, 2);
for j = 2:top
k = k(A(k,j) == b(j));
if isempty(k)
return
end
end