inds = ~cellfun('isempty', elem); %// NOTE: faster than anonymous function
conn = conn(inds,:);
elem = elem(inds); %// (preservative)
or
inds = cellfun('isempty', elem); %// NOTE: faster than anonymous function
conn(inds,:) = [];
elem(inds ) = []; %// (destructive)
or
inds = cellfun(@(x)isequal(x,[]), elem) %// NOTE: stricter; evaluates to false
conn = conn(inds,:); %// when the 'empties' are '' or {}
elem = elem(inds); %// or struct([])
or
inds = cellfun(@(x)isequal(x,[]), elem) %// "
conn(inds,:) = [];
elem(inds ) = [];
or
inds = cellfun(@numel, elem)==2 %// NOTE: even stricter; only evaluates to
conn = conn(inds,:); %// true when there are exactly 2 elements
elem = elem(inds); %// in the entry
or
inds = cellfun(@numel, elem)==2 %// "
conn(inds,:) = [];
elem(inds ) = [];
or (if you're just interested in elem
)
elem = cell2mat(elem)
or
elem = cat(1,elem{:}) %// NOTE: probably the fastest of them all