Asked by Paulo Silva
on 25 Feb 2011

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)

Answer by Kenneth Eaton
on 25 Feb 2011

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.

Paulo Silva
on 25 Feb 2011

Hi Kenneth that's very cool, +1 vote

Andrew Newell
on 25 Feb 2011

What - no image of Satan?

Log in to comment.

Answer by Paulo Silva
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

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

Show 3 older comments

Sean de Wolski
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
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
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.

Log in to comment.

Answer by Andrew Newell
on 25 Feb 2011

Show 2 older comments

Michelle Hirsch
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
on 25 Feb 2011

Hi Scott, without being able to see the code for image it's not easy :(

Sean de Wolski
on 25 Feb 2011

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

Log in to comment.

Answer by Paulo Silva
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

Log in to comment.

Answer by Saurav Kumar
on 25 Apr 2011

surf(membrane) gives mathworks logo

imagesc(cool) gives the cool colors

imagesc(hot)

Answer by Image Analyst
on 26 Jan 2012

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.

Log in to comment.

Answer by Dennis Jaheruddin
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
on 27 Nov 2013

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

Log in to comment.

Related Content

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
## 9 Comments

## Loginatorist (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_3863

Unanswerable...Grr

## Paulo Silva (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_3865

I'm taking advantage of the current problem with the answers system

play('DrEvilsLaughing',8192)

## Loginatorist (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_3869

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

## Paulo Silva (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_3871

unexpected things are also welcome to the list :)

## David (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_147822

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

## David (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_147826

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.

That last one plays some random rock band music

ENJOY!!

## Sean de Wolski (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_147828

@David, nice!

## David Hann (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_210791

> lorenz (Don't even know, just cool)

It's a lorenz attractor

a type of chaotic system

http://en.wikipedia.org/wiki/Lorenz_system

## Aneesh (view profile)

Direct link to this comment:https://www.mathworks.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know#comment_224969

@David That's absolutely mesmerizing. Thanks!

Log in to comment.