view general/cellutils/cellfilt.m @ 42:ae596261e75f

Various fixes and development to audio handling
author samer
date Tue, 02 Dec 2014 14:51:13 +0000
parents e44f49929e56
children
line wrap: on
line source
function Y=cellfilt(fn,X)
% cellfilt - Filter cell array with boolean test
%
% cellfilt :: (A->bool), {[N]->A} -> {[M]->A}.
% cellfilt :: (A->bool), {[1,N]->A} -> {[1,M]->A}.
%
% eg, cellfilt(@iseven,{1,2,3,4}) = {2,4}

% SA 2008-06-27 - Now returns cell array with same orientation as input

Y={};
[X,E]=shiftdim(X);
for i=1:numel(X)
	if fn(X{i}), Y=vertcat(Y,X(i)); end
end
Y=shiftdim(Y,E);