As @Gunther mentioned in the comments above, a generic function to handle simple conditions to mimic the tertiary operator ?: can be created to circumnavigate the limitation that Matlab doesn't allow conditionals inside anon functions (if you don't count that messy-ugly-inefficient-but-fun inline version :).
The solution was presented via this link (and perhaps a few other places but SO came back on top of my google search so thought it'd be good to add here).
http://www.mathworks.co.jp/matlabcentral/newsreader/view_thread/158054
define a function say iff or ifelse and add it to the Matlab path.
function result = ifelse(condition,trueResult,falseResult)
error(nargchk(3,3,nargin)); % check correct number of input args
if condition
result = trueResult;
else
result = falseResult;
end
then use like this
predict = arrayfun(@(x) ifelse(x>=0.5,1,0), inputData);
In the OP's case, something like this could be used
arrayfun(@(x) ifelse(abs(x)<3,x^.2,0), data)