Introduction to Matlab

September 6th, 2008

This week-long course will introduce you to the basics of the MATLAB user interface and programming language. Through instructor presentations and daily problem sets you will learn about MATLAB syntax, general programming concepts such as functions, loops, and conditional statements, and how to analyze and visualize data in MATLAB. By no means is this class comprehensive; however, we do hope that you will build skills and confidence with the program enough to learn more on your own as necessary for other classes at MIT or for lab work as a UROP.

Categories: Teaching

Sensation and Perception

February 4th, 2008

How senses work and how physical stimuli get transformed into signals in the nervous system. Examines how the brain uses those signals to determine what’s out there in the world. All the senses are discussed with emphasis on vision. Topics include perception of color, motion, form, and depth. Graduate students are expected to complete additional work.

Categories: Teaching

Advanced Matlab

January 4th, 2008

Beneath the extensive data and matrix tools in Matlab lies a comprehensive programming environment largely untapped by the casual user. For those who want to do more than analyze simple data sets, this class will explore how universal programming concepts apply to Matlab and how to exploit them to build powerful tools – whether you simply want a deeper understanding of how Matlab works or you want to build a sophisticated application for experimental control. Special topics to include object-oriented programming, application development, multi-threading, parallel and distributed applications, performance optimization, and Java integration. This course presupposes basic working knowledge of Matlab or sufficient experience in another programming language to ease the transition.

Categories: Teaching

MatlabDispatch

July 8th, 2007

MatlabDispatch is a solution to quickly control one Matlab session from another.  It began when I was dissatisfied with the performance of the ActiveX protocol for communicating with the Matlab Automation Server; I wanted a way to simultaneously control two Matlab sessions (on a shiny new Core2Duo) and circumvent the single-threaded nature of Matlab.
Read more…

Categories: Code

V1

March 4th, 2007

V1 is an integrated Matlab solution for visual stimulus presentation, data acquisition, and behavioral experiment control. It was primarily created to replicate the functionality of programs such as Cortex, by the Salk Institute, in the much more accessible Matlab environment (hence, V1 is like a ‘Matlab Cortex’). The primary advantages of V1 include:

  • Visual stimulus presentation based on the much-used, open source, and well supported Psychtoolbox (www.psychtoolbox.org).
  • Data acquisition relying on Mathwork’s Data Acquisition Toolbox, allowing integrated, flexible, realtime data acquisition dependent only on your hardware.
  • Experimental control within Matlab, allowing for experimentation and data analysis within the same package – whether post hoc or in realtime.

V1, simply, is a wrapper class and helper functions that facilitate the goals of experimental control while relying on highly established, standard Matlab extensions to provide the greatest control and functionality any experiment might require.

It is publicly available for download from the V1.git repository.  Dependencies: Matlab 7.6+ (earlier versions require the older class model, which is in the development history, but is not recommended), PTB, and optionally the DAQ toolbox.  Installation: add the root directory to your Matlab path, as well as the ‘helpers’, ‘localMachine’ and optionally ‘experiments’ subdirectories.  For HUD functionality you must add the HUD.jar to your Java classpath as noted in java/v1Java.m.  Once installed, start by typing ‘help V1′, follow the instructions to configure your local machine, and begin experimenting!

Categories: Code, Projects