Matlab^{®} is a product of
the Mathworks.

This page contains some miscellaneous commands which will help you learn Matlab, but don't deal with numeric code. The topics are laid out in the left hand frame in approximate order of importance. You do not have to learn the full contents of one topic before you procede to the next.

If you want a free version of Octave, you can follow the instructions here. Please note, there are minor differences between Octave and Matlab, but most of the syntax is the same, at least fro what you will be learning. You can also visit www.octave.org or go directly to the download site for Windows. For other platforms, see Octave's main page.

If you are using a Unix account, it is likely that Matlab is already installed. To run Matlab from home, you can go to the C.H.I.P. in MC 1052, pay $20.00 for a copy of X-Win 32 from which you will be able to connect to your Unix host from home. You also have the option of paying $180.00 for your own copy of Matlab.

**N.B.**, while engulf used to have Matlab running, at the
current time, no unix machines have Matlab installed.

To start matlab, just type `matlab` at a Unix prompt
or double click on the Matlab icon under either Mac or Windows.

If you already know `C`, a lot of Matlab code will be
familiar to you. The main advantage of Matlab over C when doing
numerical calculations is that Matlab is interpreted. That is,
you can see the result of one command before you continue on to the
next one, unlike C where you must compile the source each time
you make a change.

The most useful command in Matlab is `help`. This
brings up a description of the command you are asking help for.
An example of this is:

>> help det DET Determinant. DET(X) is the determinant of the square matrix X. Use COND instead of DET to test for matrix singularity. See also COND. Overloaded methods help sym/det.m

All examples in these tutorials will have two greater than symbols followed by a command which can be cut and paste into your version of Matlab. Any output is displayed in red.

Note in the above example, I asked for help on `det` and
instead, the help page indicates that you should use `DET(X)`.
This is explained by the following line from `help help`:

In the online help, keywords are capitalized to make them stand out. Always type commands in lowercase since all command and function names are actually in lowercase.

When asking for help for operators, for example, `+`,
`.*`, or `'`, Matlab will bring up a help page
which looks like:

>> help + Operators and special characters. Arithmetic operators. plus - Plus + uplus - Unary plus + minus - Minus - uminus - Unary minus - mtimes - Matrix multiply * . . .

In order to find help for the specific operator in question, you
must enter the word in the first column. For example, you would
use `help plus`, `help times`, and `help transpose`
when looking for help on `.*`, and `'`, respectively.

Another useful function is `lookfor` which will search
through all the help pages looking for that particular word.
This is useful if you know a concept but do not know the name
of the function which implements it.

>> lookfor determinant >> lookfor determinant DET Determinant. DET Symbolic matrix determinant. DRAMADAH Matrix of zeros and ones with large determinant or inverse.

The function `which` tells you where to find the source
code for the particular function. Some functions in Matlab
are built in, so their source code is not viewable, but most
functions are written using Matlab code which you can inspect,
copy from, and modify:

>> which det det is a built-in function. >> which sortrows /.software/arch/matlab-6.1/distribution/toolbox/matlab/datafun/sortrows.m

To view the source, you can edit the above file.

The comment character in Matlab is the percent symbol `%`
and comments out everything up to the next new-line character.

>> A = [ 1 2 3 4 5 % this is the first row of the matrix 6 7 8 9 10 11 12 13 14 15 ] % this is the last row, along with a closing bracket A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Like in C and Java, you can assign to variables using `=`. If
you do not assign output to a variable, Matlab automatically assigns it
to the variable `ans`.

>> det( A*A' ) % find the determinant of A multiplied by the transpose of A ans = 0

The command `who` gives you a list of all variables
to which you've assigned to.

>> who Your variables are: A ans