>> rfh = @(r) feval (r, 'state', 1);
>> rfh(@rand)
>> a = rfh(@rand)
??? Error using ==> rand
Too many output arguments.
Error in ==> @(r)feval(r,'state',1)
>> cellfun(rfh, {'rand'})
>> a = cellfun(rfh, {'rand'})
??? Error using ==> rand
Too many output arguments.
Error in ==> @(r)feval(r,'state',1)
I think the issue is that octave's cellfun doesn't understand what to do for functions that don't return a value. I would file a bug on the tracker.