Cody

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

Solution 114001

Submitted on 17 Jul 2012 by Aurelien Queffurust
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))

tt = Columns 1 through 6 '2' '5' 'abs' 'log10' 'log2' 'smooth3' Columns 7 through 8 'x' 'y' y = 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))

tt = 'abs' 'for' 'k' 'log10' 'log2' 'x' y = abs for log10 log2 y = abs for log10 log2

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

fh_str = @(x)x^2+sin(x)-cos(x) tt = '2' 'cos' 'sin' 'x' y = cos sin y = cos sin

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

tt = '2' 'cos' 'sin' 'x' y = cos sin y = cos sin

5   Pass
%% 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))

tt = 'cos' 'expm' 'filter' 'filter2' 'x' 'z' y = cos filter expm filter2

6   Pass
%% 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))

tt = Columns 1 through 6 'abs' 'filter' 'filter2' 'n' 'numel' 'sin' Columns 7 through 11 'smooth3' 'u' 'x' 'y' 'z' y = abs filter numel sin filter2 smooth3