Solution 339287

Submitted on 25 Oct 2013
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   Fail
%% % Clean workspace !/bin/cp my_function.m safe !/bin/rm *.* !/bin/mv safe my_function.m !/bin/rm @* % Clean user's function from some known jailbreaking mechanisms functions = {'!','feval','eval','str2func','str2num','regex','system','dos','unix','perl','java','fopen','write','save','setenv','path','fft'}; fid = fopen('my_function.m'); st = char(fread(fid)'); for n = 1:numel(functions) st = regexprep(st, functions{n}, 'error(''No fancy functions!''); %', 'ignorecase'); end fclose(fid) % Force a function header, and comment first code's line (the supposedly users' function header) st = sprintf('function y = my_function(x)\n%%%s', st); fid = fopen('my_function.m' , 'w'); fwrite(fid,st); fclose(fid) rng(now); input = rand(1, 1000); output = my_function(input); % just ignore this !/bin/cp my_function.m safe !/bin/rm *.* !/bin/mv safe my_function.m !/bin/rm @* path(pathdef); % undo any change on search path assert(sum(abs(output - fft(input))) < 1e-8) % accounts for some FP errors

Error: The current random number generator is the legacy generator. This is because you have executed a command such as rand('state',0), which activates MATLAB's legacy random number behavior. You may not use RNG to reseed the legacy random number generator. Use rng('default') to reinitialize the random number generator to its startup configuration, or call RNG using a specific generator type, such as rng(seed,'twister').

Suggested Problems

More from this Author6