view general/arrutils/zipels.m @ 44:3cedfd4549ef

Code added since initial check in.
author samer
date Tue, 13 Jan 2015 14:03:17 +0000
parents
children
line wrap: on
line source
function Z=zipels(f,varargin)
% zipels - Zip a scalar function of several arguments over several arrays
%
% zipels :: 
%    (A{:}->B) 
%    [Size->A{1}],
%    [Size->A{2}],
%    ..
% -> [Size->B].

fN=(f<=length(varargin)); % fN takes a tuple instead of multiple args
nth=@(i)@(x)x(i);
Z=repmat(fN(cellmap(nth(1),varargin)),size(varargin{1}));
for i=2:numel(varargin{1})
	Z(i)=fN(cellmap(nth(i),varargin));
end