  # Introduction to Matlab    ## Category: Math software

If you are studying engineering or science, sooner or later, you will need to learn how to use Matlab, a programming language which allows easy manipulation of numerical data and implementation of algorithms. This tutorial will help you understand the basic syntax and data types used by the language.

MATLAB stands for "matrix laboratory" and both the programming language and the environment which implements it have this name. It was written in C and it is developed by the Mathworks company.

Most of the objects used in computations are, as it's name suggests, multi-dimensional matrixes. Any scalar value used is treated as a 1x1 matrix, vectors are treated as one dimensional matrixes, etc. Since all operations are optimized for matrix usage, you should get used to this style of programming if you plan on utilising Matlab extensively.

General use

In Matlab, you can enter commands on the command line or write full programs and run them. Entering a command followed by a semicolon will only execute the command, without printing the result. If it is not followed by a semicolon, the result will be printed in the command window.

You can enter more than one command on one line, if you separate them by commas.

For example, entering the line:

2+3, 5+6

will result in the answers 5 and 11, which will be assigned to a special Matlab variable, called ans, storing the results of operations. The variable will be also printed on the screen.

If you enter:

2+3;

you will notice nothing is printed, but if you check the variable ans(just type ans) you will see that it's value is 5.

Defining simple variables

The syntax used to define a new matrix is simple and intuitive. Elements on the same line are separated by blanks or commas and lines are separated by semicolons. For example:

A = [1 4; 5 7]

defines the matrix:

1  4
A =
5  7

Another option is to separate the lines by using enter:

A = [1 4
5 7]

The variable is created when it is first used or initialized, so there is no need to declare it's type before using it, like in C.

Once created, the variable will exist until you quit the program or you specifically delete it. You can see the list of existing variables by using the "who" command.

You can also create new matrixes by merging existing ones, like in this example:

A = [1 4; 5 7]
B = [1 3; 4 6]
D = [A B]

which results in:

1  4  1  3
D =
5  7  4  6

Like C, Matlab is case-sensitive, so be careful when using variable names. Matrix A is different from matrix a.

Accessing matrix elements

To select matrix elements, you can use the index of an element between (). Elements are counted from top to bottom and left to right, first on columns, then rows. For example:

a = A(3)

results in a  = 4.

In the case of multi-dimensional matrixes, you can use the indexes of lrows and columns to select the element, like this:

b = A(1, 2)

will assign the value 4 to b. The first index is the row number and the second one is the column. Rows and columns are numbered starting with 1, not 0, like C arrays.

If you need to use a number of rows or columns from a matrix, you can use the ":" operator,  like in this example:

d = [1 2 3; 4 5 6; 7 8 9]
e = d(:, 2:3)

will result in:

2   3
e = 5   6
8   9

The first index gives the rows you want to select, and the second the columns. Used alone, the ":" means select all the rows or columns.

Usual Matlab operations

The usual arithmetic operators used in Matlab are: +, -, *(for multiplying), / (for dividing). To get the transpose of a matrix, use operator ' .

"*" and "/" perform matrix multiplication or division(which actually means  mutliplication with the inverse of the second matrix). The dimensions of the two operands must line up correctly.  If you want to perform mutliplication or division element by element, you must put a  "."  in front of the operator. In this case, the two operands must have the same dimensions.

For example, let's define to matrixes, a and b, and a vector, c:

a = [1 2; 3 4; 5 6]
b = [1 2 3; 4 5 6]
c = [1 2 3]

The operation c'   will result in:

1
ans = 2
3

a*b is:

9   12  15
ans = 19  26  33
29  40  51

You can't use a.*b, because you'd get an error(the dimensions of the two matrixes don't match). Let's define another vector, d, to see how the element by element multiplication works.

d = [1 2 3]

Now, using:

c.*d

you'll get:

ans = 1 4 9

That's about all for basic knowledge about Matlab. You should also know you can use the  control structures from C (for, while, if), along with a large number of specialized functions integrated by Matlab(abs, sqrt and so on). To get info about a specific function, you can use the help provided by the program, just by typing help function_name. If the function exists, the help will be displayed. Since the functions you need depend a lot on your specific area of study, these should be covered by separate tutorials.

Posted by: Quarc on August 10, 2006 at 12:14.   More Introductory MATLAB Material
This is a great introduction to MATLAB. I wrote a short article on calculating basic statistical summaries in MATLAB, which can be found at the following address:

"Basic Summary Statistics in MATLAB"
http://matlabdatamining.blogspot.com/2007/04/basic-summary-statistics-in-matlab.html

Your readers might also be interested in the MATLAB code sources I mention here:

"Finding MATLAB Source Code And Tools"
http://matlabdatamining.blogspot.com/2006/11/finding-matlab-source-code-and-tools.html

-Will Dwinnell

Posted by Will Dwinnell on December 18, 2007 at 12:59 PM.

## Feeds 