Cody

Problem 582. Function composition - harder

Solution 181592

Submitted on 26 Dec 2012 by Alfonso Nieto-Castanon
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

This solution is outdated. To rescore this solution, sign in.

Test Suite

Test Status Code Input and Output
1   Pass
%% f1 = @(x)x+1; f2 = @(x)3*x; f3 = @sqrt; h = compose(f1,f2,f3); assert(isequal(h(9),10));

ans = @(x)varargin{1}(x) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x))

2   Pass
%% f = repmat({@(x)x+1},1,100); h = compose(f{:}); assert(isequal(h(0),100));

ans = @(x)varargin{1}(x) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x)) ans = @(x)h(varargin{end}(x))

3   Pass
%% f = @(x)x; h = compose(f); assert(isequal(h(1234),1234));

ans = @(x)varargin{1}(x)

Suggested Problems

More from this Author2

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!