Hump-day puzzler - Unknown Function
Mostrar comentarios más antiguos
My colleague was working with MATLAB and defined an anonymous function F. When he saw me come in he typed clc, hit return than challenged me to guess the form of the function only by calling it however many times I want. After calling it many times, I have figured out that it takes a scalar argument, and when the value of the argument is greater than 0 it does this:
>> F(1)
Name Size Bytes Class Attributes
---- 0;']) ------------------------------------------
x 1x1 8 double
And when the value of the argument is less than zero, it appears to do nothing:
>> F(-1)
>>
Can you help me figure out what the function looks like?
Respuesta aceptada
Más respuestas (1)
Sean de Wolski
el 25 de Mayo de 2011
Tough one! In lieu of a real way to name a function/function handle: 0;'])
F = @(x)HDC525(x);
and:
function HDC525(x)
%SCd 5/25/2011: Lame attempt at HD challenger
if ~isscalar(x)||x<=0
return
else
Str = evalc('whos x');
fprintf('%s\n ---- 0;'']) ------------------------------------------\n %s',Str(1:numel(Str)/2-1),Str(numel(Str)/2+1:end));
end
2 comentarios
Matt Fig
el 25 de Mayo de 2011
Sean de Wolski
el 25 de Mayo de 2011
I know it doesn't. And I know that 'whos' will put the function handle's meat where you have _0;'])_ but I know how to overwrite it. Arghhhhh.
Categorías
Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!