What matlab easter eggs do you know?
Paulo Silva
on 25 Feb 2011
Latest activity Reply by David Cazenave
on 10 May 2024
Please post the easter eggs that you have found so far if they aren't already posted by someone else.
Let's try to make a good Matlab easter egg list because it seems that there isn't one.
What should be posted:
- Unexpected but intentional behaviour
- Special things that the programmers left for us to discover
- Extra code inside a function that can be used for other purposes
- Hidden pictures and audio clips
What shouldn't be posted:
- Repeated Easter Eggs, if someone already posted it please don't repeat
- Bugs in functions that cause trouble and might be fixed in later versions
- Matlab games that come with the program unless they aren't mentioned in the documentation (the games are in the other demos, try the xpbombs and fifteen, you can even see the code for both games)
47 Comments
Descartes said 'I think therefore, I am.' For all you 'newton_2x2.m', and 'nfnitcerestst.m' fans, my 'Series Convergence Calculator' script now has a 15 - ball (Abel's Convergence Test - a powerful, advanced, test for converging trigonometric, and all other converging series). Look for it in an all encompassing update, happening soon at a screen near you!!!
why?
Not sure if this is known,
modes
eml_asteroids exists in R2020b in
fullfile(matlabroot, 'toolbox', 'stateflow', 'sfdemos')
Also in R2016b. I do not seem to see it in my other installations, but I might not happened to have installed the right product for the other versions.
Hi, super nice idea! I am trying the eml_fire or eml_asteroids and I always get an error, also for the sf_tictacflow. I am using MATLAB2022a. Does anyone know why I keep getting this error? Thank you :)
life
lorenz % (Don't even know, just cool)
It's a lorenz attractor, a type of chaotic system
Not sure if it is really an easter egg, it is a bit simpler than most others.
The description of this function surprised me:
- eomfun
Note that it is only found in the help, not in the doc.
@David, nice!
Technically all of these are visible code you can look up and manipulate, so I'm not sure these count as Easter Eggs, but whatever. They're still pretty cool.
Forgot a couple, too.
- spy (but this was already mentioned also)
- load audio48, sound(signal48kHz, Fs48)
That last one plays some random rock band music
ENJOY!!
Ok so here's a list of ones I've found. Some of these ARE Emulators, but I figure most will appreciate them anyway. (A lot of the above posts are random programs associated with emulators and gui's anyway.)
- fifteen (Let's you play sliding numbers game)
- why (just randomly generated responses)
- life (lets you play 'the game of life')
- image (that blue pic of the boy)
- shower (A program that let's you play with a shower.)
- step
- surf(membrane)
- imagesc(hot)
- logo
- cruller (3D image and is rotatable)
- census
- earthmap
- eigshow (rotates vectors on screen)
- imagesAndVideo (video of space shuttle take off)
- imageext (lets you see SEVERAL random images)
- knot (Another 3D image that's rotatable)
- lorenz (Don't even know, just cool)
- makevase
- truss (Bending modes of a truss)
- vibes (3D vibrating image)
- wrldtrv (Let's you plan world travel distances)
- xpquad (Changing quadratics of a cube)
- xpsound (Sound demo that includes Handel)
- eml_asteroids (Asteroids videogame emulator)
- eml_fire (Emulator that displays growing fire)
- sf_tictacflow (Tictactoe emulator)
- rlc_gui (RLC circuit analysis emulator)
- tetris_2 (Tetris)
Not sure if they qualify as Easter eggs, but type these on the command line (verified on R2011b):
- why
- why are there too many input arguments?
- xpbombs
- fifteen
- spy (new image is probably only version R2011b or later - clearly Sean has had some influence since he joined the Mathworks staff)
- x=[-2:.001:2],y=(sqrt(cos(x)).*cos(200*x)+sqrt(abs(x))-0.7).*(4-x.*x).^0.01,plot(x,y);
On http://www.walkingrandomly.com/?p=2949, Cleve says " As our code base has increased, including such goodies in the MATLAB core has become problematic because of the strain it puts on rigorous automated testing. It is still possible to include them in a few “leaf” M functions, like “spy”, that other functions do not depend upon." so they will probably be fewer as time goes on.
surf(membrane) gives mathworks logo
imagesc(cool) gives the cool colors
imagesc(hot)
Today I found that these functions:
step
impulse
From the Control System Toolbox work without any arguments, there's a sort of demo that they make, very nice, I was using them for years without noticing, nice surprise, wonder why the tf function doesn't also have the same behaviour
As Steve discussed in one of his blog posts, the default image in MATLAB is actually a steganographic image:
image
 
Just looks like an upside-down little boy, right? Well, if you rotate the 53-bits of the double precision fraction component so that each becomes the highest valued bit, you can easily see the hidden images:
 
 
Here's how I made the above image:
defImage = pow2(get(0,'DefaultImageCData'),47);
imgCell = repmat({zeros(size(defImage))},8,7);
for shift = 0:52
imgCell{shift+1} = bitrotate(defImage,shift);
end;
allImages = cell2mat(imgCell.');
imshow(allImages,[min(allImages(:)) max(allImages(:))]);
NOTE: bitrotate is a version of the built-in bitshift that I wrote to perform a circular shift of the bit pattern instead of discarding bits that overflow. I'll be placing bitrotate on the FEX soon, but for now you can just replace it with bitshift in the above code.
unexpected things are also welcome to the list :)
I am unfamiliar with what you mean by "Easter Egg." But if it means an unexpected, nice surprise, then finding out that FINDSTR takes non-string arguments was a nice surprise to me:
I = findstr(round(rand(1,10000)),[1 1 0 0 1 1 0 0])
I'm taking advantage of the current problem with the answers system
play('DrEvilsLaughing',8192)
Unanswerable...Grr
The spy function without arguments makes a cool figure (my current avatar).
The why function says random things.
Matlab comes with a great sound clip for those moments when you find a solution for a huge problem
load handel
sound(y,Fs)
The pie function (matlab 2008b and maybe later versions) doesn't allow to place the labels in a specific place but in the function code there's a variable that allows the text to be inside the pie and you might also set the distance from the center of the pie, here's a little hack that I did to pie