## What matlab easter eggs do you know?

### Paulo Silva (view profile)

on 25 Feb 2011
Latest activity Edited by Kenneth Eaton

### Kenneth Eaton (view profile)

on 11 Dec 2017
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)

Sean de Wolski

on 7 May 2013
@David, nice!
David Hann

### David Hann (view profile)

on 28 Apr 2014
> lorenz (Don't even know, just cool)
It's a lorenz attractor
a type of chaotic system
Aneesh

### Aneesh (view profile)

on 10 Jul 2014
@David That's absolutely mesmerizing. Thanks!

### Kenneth Eaton (view profile)

on 25 Feb 2011
Edited by Kenneth Eaton

### Kenneth Eaton (view profile)

on 11 Dec 2017

As Steve discussed in one of his blog posts, the default image in MATLAB is actually a steganographic image:
image
&nbsp
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:
&nbsp
&nbsp
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.

Paulo Silva

### Paulo Silva (view profile)

on 25 Feb 2011
Hi Kenneth that's very cool, +1 vote
Andrew Newell

### Andrew Newell (view profile)

on 25 Feb 2011
What - no image of Satan?

### Paulo Silva (view profile)

on 25 Feb 2011

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
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

Sean de Wolski

### Sean de Wolski (view profile)

on 25 Feb 2011
I wrote two functions:
lala.m
and lalala.m
lala displays: "stop singing and get back to work"
and lalala sounds handel. It makes for fun giving those to others in the lab.
Paulo Silva

### Paulo Silva (view profile)

on 25 Feb 2011
Hey Sean that's good fun but I wonder if the nice people from mathworks did include something similar but no one found it yet, are they forbid to do that?
Image Analyst

### Image Analyst (view profile)

on 26 Jan 2012
Paulo, your avatar is no longer the "spy" image that pops up - it's Sean's dog (I think). Sean's lalala function is not in R2011b - maybe it will come out in R2012a.

### Andrew Newell (view profile)

on 25 Feb 2011

This site and this site have several Easter eggs, but most don't work on 2010b. Just these work for me:
image
penny
shower
But are these really Easter eggs or just demos?

Michelle Hirsch

### Michelle Hirsch (view profile)

on 25 Feb 2011
Oh, but there is so much more to image than meets the eye!! Let's see who can find what else is hidden there :)
Paulo Silva

### Paulo Silva (view profile)

on 25 Feb 2011
Hi Scott, without being able to see the code for image it's not easy :(
Sean de Wolski

### Sean de Wolski (view profile)

on 25 Feb 2011
Paulo, search Steve Eddin's Blog for 'image function' (or similar). There is quite a lot to learn there!

### Paulo Silva (view profile)

on 5 Mar 2011

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

### Saurav Kumar (view profile)

on 25 Apr 2011

surf(membrane) gives mathworks logo
imagesc(cool) gives the cool colors
imagesc(hot)

Image Analyst

on 26 Jan 2012
So does "logo"

### Image Analyst (view profile)

on 26 Jan 2012

Not sure if they qualify as Easter eggs, but type these on the command line (verified on R2011b):
1. why
2. why are there too many input arguments?
3. xpbombs
4. fifteen
5. spy (new image is probably only version R2011b or later - clearly Sean has had some influence since he joined the Mathworks staff)
6. 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.

### Dennis Jaheruddin (view profile)

on 27 Nov 2013

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.

Image Analyst

### Image Analyst (view profile)

on 27 Nov 2013
Easter eggs come and go. It's not in release R2013a. What version did you verify it in?