Working with Matrices#
MATLAB is the matrix laboratory and the programming language is designed to work efficiently with matrices. Let’s take a look at how to create matrices and how to perform matrix computations.
See also
Check out the MATLAB documentation to learn more about matrices.
Manual Construction#
The simplest way to construct a matrix is to use square brackets [ ... ] and manually type the entries separated by a space (or comma ,) with rows separated by a semicolon ;. For example, let’s create the matrix
A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
Construction Functions#
There are functions such as zeros, ones, eye and diag for constructing matrices. For example, create a 2 by 5 matrix of zeros:
zeros(2,5)
ans =
0 0 0 0 0
0 0 0 0 0
Create the identity matrix of size 6:
eye(6)
ans =
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
Create a 3 by 2 matrix of ones:
ones(3,2)
ans =
1 1
1 1
1 1
Create a diagonal matrix:
diag([1 2 3])
ans =
1 0 0
0 2 0
0 0 3
Create a matrix with entries on the upper diagonal:
diag([1 2 3],1)
ans =
0 1 0 0
0 0 2 0
0 0 0 3
0 0 0 0
Create a matrix with entries on the lower diagonal:
diag([1 2 3],-1)
ans =
0 0 0 0
1 0 0 0
0 2 0 0
0 0 3 0
Concatenation#
We can also use the square brackets to concatenate vectors and matrices. For example, create two column vectors and put them into the columns of a matrix:
c1 = [1; 2];
c2 = [3; 4];
A = [c1 c2]
A =
1 3
2 4
Create two row vectors and put them into the rows of a matrix:
r1 = [0 -1];
r2 = [5 7];
A = [r1; r2]
A =
0 -1
5 7
Concatenate matrices to create the block matrix
A = [ones(2,2) zeros(2,2); zeros(2,2) -ones(2,2)]
A =
1 1 0 0
1 1 0 0
0 0 -1 -1
0 0 -1 -1
Addition and Multiplication#
Use operators + and - for matrix addition and subtraction, and * for scalar multiplication. For example, let’s use eye, ones, diag, matrix addition and scalar multiplication to construct the matrix:
N = 4;
A = 2*eye(N+1) - diag(ones(1,N),1) - diag(ones(1,N),-1)
A =
2 -1 0 0 0
-1 2 -1 0 0
0 -1 2 -1 0
0 0 -1 2 -1
0 0 0 -1 2
Use the operator * for matrix multiplication. For example, let’s compute \(A \mathbf{x}\) where \(A\) is the matrix above and \(\mathbf{x}\) is the vector:
x = ones(N+1,1);
A*x
ans =
1
0
0
0
1
Indexing#
Access the entry of matrix \(A\) at row \(i\) and column \(j\) using the syntax A(i,j). For example, consider the matrix:
A = [1 0 -2; 7 5 -1; 3 4 -8]
A =
1 0 -2
7 5 -1
3 4 -8
Access the entry in row 2 and column 3:
A(2,3)
ans =
-1
Use the colon : to select an entire row or column. For example, select row 3:
A(3,:)
ans =
3 4 -8
Select column 2:
A(:,2)
ans =
0
5
4