Can I run matlab on a microcontroller?? and if yes which one?
Yes, there are a few processors powerful enough to run (some) programs written in the MATLAB language directly, replacing a PC.

So far, I only know 4 ways to do that:

If you have a motherboard powerful enough to run Linux, such as as BeagleBone or the Raspberry Pi or the Cubieboard, you could:


Install the open-source Octave tool, which can understand and execute many MATLAB-language programs directly. "Running Matlab Computer Vision on Raspberry Pi with Linux Octave. Part 1."(a)
Install the open-source Scilab tool, which can understand and execute some MATLAB-language programs directly.
Install the open-source FreeMat tool, which can understand and execute some MATLAB programs directly.


Often these approaches either don't bother producing any graphics at all on the embedded system,
or use the open-source matplotlib library that is designed to be easy to use from within MATLAB as well as possible to run on any machine that can run Python -- even machines that can't run MATLAB.

While the Raspberry Pi can run (some) programs written in the MATLAB language using the above approaches,
alas, the Raspberry Pi isn't quite PC-compatible enough to run MATLAB. "MATLAB for Linux on the Pi? No."(b)

If you have some "PC-compatible" (x86 processor) mini-PC,
such as many PC104 and (all?) PCI-104 embedded systems,
or the NUC,
or the huge number of microATX and smaller motherboards,
you could use any of the above options, or you could also:


Install MATLAB for Windows or MATLAB for Linux. "MATLAB for Linux system requirements"(c) (d) "Install Matlab in Linux" (e)


alternatives that don't quite meet that criteria

You probably already know that "running MATLAB code directly on a stand-alone microcontroller" is not that popular; other approaches include


Using MATLAB to develop Simulink models that run as stand-alone applications. "Raspberry Pi Support from Simulink" (f); "Run Simulink models on ... Arduino ... BeagleBoard ... Gumstix ... Raspberry Pi ... LEGO Mindstorms ..." (g) "Raspberry Pi Programming using Simulink"(h) (i) "MATLAB / Simulink on BeagleBone Black"(j) "Rapid BeagleBoard Prototyping with Matlab and Simulink"(k)
running MATLAB code on a PC that communicates back and forth with a microcontroller, to do things that neither one could do alone. "the MATLAB Support Package for Raspberry Pi Hardware"(l); "ThingSpeak Support from MATLAB ... with Arduino"(m)
Use MATLAB to try out a bunch of high-level algorithms and use that implementation to estimate how much RAM and processing power it needs, then later re-implement those algorithms from scratch to run stand-alone on practically any microcontroller with at least that much RAM and processing power. (Typically in Forth or C or C++, since practically every microcontroller has a compiler for those languages and hardly any other languages).