Problem 733. Extract Built In Functions and Toolbox Functions from String or Function Handle

Solution 518937

Submitted on 31 Oct 2014
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
%% fh_str='log2(x)+smooth3(x,y)+abs(2)+log10(5)'; exp_str='abs log10 log2 smooth3'; assert(isequal(find_functions(fh_str),exp_str))

t = abs log10 log2 smooth3

2   Pass
%% fh_str='for k=log10(x):log2(x)+abs(x)'; exp_str='abs for log10 log2'; assert(isequal(find_functions(fh_str),exp_str))

t = abs for log10 log2

3   Fail
%% fh_str=@(x)x^2+sin(x)-cos(x); exp_str='cos sin'; assert(isequal(find_functions(fh_str),exp_str))

Error: Undefined function 'regexp' for input arguments of type 'function_handle'.

4   Pass
%% fh_str='@(x)x^2+sin(x)-cos(x)'; exp_str='cos sin'; assert(isequal(find_functions(fh_str),exp_str))

t = cos sin

5   Fail
%% fh_str='filter2(x,A)+filter(x)-cos(x) expm(z)'; exp_str='cos filter expm filter2'; assert(isequal(find_functions(fh_str),exp_str))

Error: Assertion failed.

6   Fail
%% fh_str='smooth3(x,y)-filter(x)+abs(n)+filter2(u)+sin(x)+numel(z)'; exp_str='abs filter numel sin filter2 smooth3'; assert(isequal(find_functions(fh_str),exp_str))

Error: Assertion failed.