Matlab Tutorial 2: Matrices in Matlab
Matrices in Matlab
In the previous tutorial we have used the concept vector. This is a special case of matrix. A two-dimensional matrix is nothing but a rectangular table with its elements ordered in rows and columns. A matrix mxn consists of m rows and n columns. In Matlab this can be written for a matrix A.
>> C=[ x' y1' y2'] |
C(:,1) % : means all rows and 1 stands for the first column. C(2,:) % means the second row and all columns. |
This matrix A has 2 rows and 3 columns. The first row is: 1 2 3 and the second: 4 5 6 . For the columns we have the have following order: Column 1: 1,4 column 2: 2,5 and finally column 3: 3,6
Each entry in the matrix A is accessible by using the following indices:
>> plot(C(:,1), C(:,2),C(:,1),C(:,3)), grid |
For instance try the following :
>> ones(3) % Gives a quadratic matrix, with three columns and three rows % only containing ones. |
or
>> ones(3,5) % Same as above, but with three rows and five columns. |
The most common matrix in matlab is the two-dimensional one. Many of the commands in matlab are only for valid for such matrices. The arithmetic operators (+, -, *, / and ^) that we used in tutorial1 can also be applied for matrices, but we also have some others as well.
Exercise 1: Vectors in Matlab
Generate a vector x=[5, -4, 6 ] with three elements. In Matlab as:
>> zeros(2) % Gives a quadratic matrix 2X2, and with zero as elements. |
or alternatively
>> eye(3) % Gives the unity matrix with ones on the main diagonal. |
What is the answer of x(4) and x(0) ?
The indices in a vector starts from 1 and in this case ends with 3. Therefore to ask for x(4) and x(0) is pointless. Suppose we would have done differently creating the vector x.
>> x=reshape( C,9,1) % gives a column vector. |
Could we now ask for element x(4) ? We have already created vectors with different lengths. And where the elements are equally spaced as:
>> x=reshape(C,1,9) % gives a row vector. |
>> x=linspace(1,10) % creates a vector with 100 elements (default) % linearly spaced values from 1 to 10. |
>> y=3:8 % gives a vector with integers from 3 to 8. Default step size is 1. |
Sometimes you need to pick some of the elements in a vector and create a new one. There are some useful commands to achieve this. First let us create a vector with 50 random elements, in the range from 0 to 1.
>> x=rand(1,50); % rand is a random function generating numbers % between 0 and 1. Mean value of x should be close to 0.5 . |
Now choose the elements: 12 to 15 in the vector x.
>> y= x(12:15) % Check that we picked the right elements and % the correct numbers by selecting x in workspace. % Open the vector x by double clicking->Array editor. |