The MATLAB Support Package for Arduino Hardware lets you use MATLAB to communicate with Arduino boards over a USB cable. You can learn more, see examples, and install the support package here: http://www.mathworks.com/hardware-support/arduino-matlab.html
The support package is available on 32-bit and 64-bit Windows, 64-bit Mac OS, and 64-bit Linux.
As an example, you can instantiate an Arduino object from MATLAB using:
>> a = arduino('COM5');
and then do stuff like:
>> av = readVoltage(a,5);
or if you have an Adafruit motor shield V2:
>> a = arduino('com5','Uno','libraries','Adafruit\MotorshieldV2');
>> shield = addon(a,'Adafruit\MotorshieldV2')
>> s = servo(shield,1);
>> dcm = dcmotor(shield,1);
>> sm = stepper(shield,1,200,'RPM',10)
Arduino Uno, Arduino Mega 2560 and Arduino Due are all supported.
You can use Simulink to design, simulate, and test algorithms and then automatically program the Arduino with the click of a button. You can learn more, see examples, and install the Simulink Support Package for Arduino Hardware here:
The support package includes a library of Simulink blocks that connect to Arduino I/O, such as digital input and output, analog input and output, serial receive and transmit, and servo read and write. It also includes additional blocks for UDP send and receive, TCP/IP send and receive, and ThingSpeak write (requires Ethernet or Wifi Shield).
The support package is available on 32-bit and 64-bit Windows and 64-bit Mac OS X.