Last updated: Jan 23, 2014
- Buy a copy of Matlab for students ($99)
- Use Matlab remotely on the Edlab computers (free, but using the GUI can be very slow)
- Download, install, and use Octave (free, open-source clone of Matlab)
- FreeMat, another open-source Matlab clone
For those planning on using Octave, this page may be a helpful resource on the differences between Octave and Matlab.
You may use the copy of Matlab available on the Edlab computers by logging in as explained on the Edlab website under "Remote access to Edlab hosts". Make sure to use one of the linux machines. There is a possibility that Matlab is not available when logged into elnux3. You may also be able to access Matlab by using one of the machines in the USpace (again, make sure the machine is booted into Ubuntu Linux). This may make it possible to also use the Matlab GUI without a significant network lag. When accessing the Edlab computers remotely via SSH, the Matlab GUI will only be available if you have set up X-forwarding on your SSH client. If you need help doing this, please come to office hours. Matlab can be used without a GUI, however you will not be able to display images while working in Matlab and will need to instead save them in some way to view on your local machine.
In both cases (accessing the Edlab machines remotely or using a USpace machine), once you've logged in you should be able to start Matlab by executing the following command:
To launch Matlab without a GUI, you can use the following:
To launch Matlab without a GUI or JVM (not recommended by Mathworks, but this may make it faster. It may, however, also prevent certain commands that use Java from functioning), you can use the following:
/exp/comm/matlab/bin/matlab -nodisplay -nojvm
Some differences between Octave and Matlab
Octave is a free, open-source clone of Matlab. This means that it may or may not have been optimized the same way as Matlab (i.e. it may not be as fast for certain operations), and some commands may not take exactly the same arguments. Also, only the most recent version of Octave includes a (beta) GUI. Unfortunately, the newest installers for Octave in Windows is not this most recent version (version 3.8 at the time of this writing), so if you absolutely want the GUI, you will have to compile Octave yourself (not recommended). Using Octave without the GUI will NOT prevent you from being able to view images, however you will not have the user interface for navigating folders, viewing workspace variables, and a built-in editor like Matlab.
For Windows, you may either install the package available in Cygwin, or use an installer. More information about the installers are available here. This installer may suffice.
For Mac OS X, go to http://wiki.octave.org/Octave_for_MacOS_X to read more on how to install Octave for Mac. If you already have a package manager like Fink, MacPorts, or Homebrew, there should be packages for Octave available (see the previous link for details). Otherwise, use the binary installer linked on the page for a relatively straightforward installation process.
NOTE: If you use the binary installer on OS X 10.9+, you will need to right-click on the installer mpkg in the dmg download and click "open" to allow the installer to run. There is more information on the wiki as well as in the readme included in the dmg download.
For Linux, check your package manager for a copy of Octave. This should be just like installing any other software from your package manager.
A student brought FreeMat, another free, open-source, cross-platform alternative, to my attention that may also suffice for the purposes of this course. As I have never used it myself, I can't make any guarantees of whether the syntax or functions is similar enough to be useful, but it appears to have a more mature GUI than Octave does at this point. If you do end up using it, I'd be interested in hearing any feedback you may have.
NOTE: While you will be learning Matlab in this course, the focus of the course is computer vision using Matlab as a tool. In other words, don't spend too much time wrestling with the program of your choice if that will impact your ability to complete the assignments on time.