0% found this document useful (0 votes)
43 views18 pages

Computer Programming For Engineers: List of Resources

This document is a lecture presentation on working with matrices in MATLAB. It discusses how to generate matrices by entering vectors and values, and how to perform operations on matrices using MATLAB commands. Specific topics covered include generating matrices, matrix indexing to access or change individual elements, using colon operators to generate vectors and matrices with linear spacing, and performing basic operations on matrices. The overall purpose is to illustrate how to create and manipulate matrices in MATLAB.

Uploaded by

Peter Onyebuchi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views18 pages

Computer Programming For Engineers: List of Resources

This document is a lecture presentation on working with matrices in MATLAB. It discusses how to generate matrices by entering vectors and values, and how to perform operations on matrices using MATLAB commands. Specific topics covered include generating matrices, matrix indexing to access or change individual elements, using colon operators to generate vectors and matrices with linear spacing, and performing basic operations on matrices. The overall purpose is to illustrate how to create and manipulate matrices in MATLAB.

Uploaded by

Peter Onyebuchi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

COMPUTER PROGRAMMING FOR ENGINEERS

A LECTURE PRESENTATION #4 (Matrices in Matlab)

By:

DR. SANI ABBA


DEPT. OF MATHEMATICAL SCIENCES, FACULTY OF SCIENCE,
ATBU,BAUCHI, NIGERIA.

COURSE CODE: EA 413


COURSE TITLE: COMPUTER PROGRAMMING
ENGINEERS

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
authors: Andrew Knight; Misza, Kalechman; Brian Hahn and Dan Valentine.

List of Resources

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
1.2
authors: Bjarne, Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore.

1
4.1 Working with matrices
 Matrices are the basic elements of the MATLAB environment. A
matrix is a two-dimensional array consisting of m rows and n
columns.

 Special cases are column vectors (n=1) and row vectors (m=1).

 In this presentation, we will illustrate how to apply different


operations on matrices. The following topics are discussed: vectors
and matrices in MATLAB, the inverse of a matrix, determinants, and
matrix manipulation.

 MATLAB supports two types of operations, known as matrix


operations and array operations. Matrix operations will be
discussed first.
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-3

4.1.1 Working with matrices


Matrix generation
 Matrices are fundamental to MATLAB. Therefore, we need to become
familiar with matrix generation and manipulation. Matrices can be
generated in several ways.
Entering a vector
 A vector is a special case of a matrix. The purpose of this presentation
is to show how to create vectors and matrices in MATLAB.

 As discussed earlier, an array of dimension 1 × n is called a row


vector, whereas an array of dimension m × 1 is called a column
vector.

 The elements of vectors in MATLAB are enclosed by square


brackets and are separated by spaces or by commas.
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-4

2
4.1.2 Working with matrices
For example, to enter a row vector v, type:
>> v = [1 4 7 10 13]

v=
1 4 7 10 13
Column vectors are created in a similar way; however, semicolon (;)
must separate the components of a column vector,

>> w = [1;4;7;10;13]
w=
1
4
7
10
13
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-5

4.1.3 Working with matrices


 On the other hand, a row vector is converted to a column vector using
the transpose operator. The transpose operation is denoted by an
apostrophe or a single quote (’).
>> w = [1;4;7;10;13]
>> v = w'
v=
1 4 7 10 13
 Thus, v(1) is the first element of vector v, v(2) its second element, and
so forth. Furthermore, to access blocks of elements, we use
MATLAB’s colon notation (:). For example, to access the first three
elements of v, we write,
>> v (1:3)

ans =
1 4 7
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-6

3
4.1.4 Working with matrices
 Or, all elements from the third through the last elements,
>> v = [1 4 7 10 13]

>> v(3,end)

ans =
7 10 13

 Where end signifies the last element in the vector. If v is a vector,


writing
>> v(:)
Produces a column vector, whereas writing

>> v(1:end) produces row vector.

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-7

4.1.5 Working with matrices


Entering a matrix

 A matrix is an array of numbers. To type a matrix into MATLAB you


must:
 begin with a square bracket, [
 Separate elements in a row with spaces or commas (,)
 use a semicolon (;) to separate columns
 end the matrix with another square bracket,].

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-8

4
4.1.6 Working with matrices
 Here is a typical example. To enter a matrix A, such as,

Type,
>> A = [1 2 3; 4 5 6; 7 8 9]

 MATLAB then displays the 3 × 3 matrix as follows,

A =
1 4 7
2 5 8
3 6 9

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-9

4.1.7 Working with matrices


 Note that the use of semicolons (;) here is different from their use
mentioned earlier to suppress output or to write multiple commands in
a single line.

 Once we have entered the matrix, it is automatically stored and


remembered in the Workspace.

 We can refer to it simply as matrix A. We can then view a particular


element in a matrix by specifying its location. We write:

>> A(2,1)
ans =
4

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-10

5
4.2 Working with matrices
Matrix indexing
 We select elements in a matrix just as we did for vectors, but now we
need two indices.

 The element of row i and column j of the matrix A is denoted by A (i


, j). Thus, A (i, j) in MATLAB refers to the element Aij of matrix A.

 The first index is the row number and the second index is the
column number.

 For example, A (1, 3) is an element of first row and third column.


Here, A (1,3)=3. Correcting any entry is easy through indexing.

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-11

4.2.1 Working with matrices


 A (3,3)=0. The result is:

>> A (3, 3) = 0
A=
1 2 3
4 5 6
7 8 0

 Single elements of a matrix are accessed as A(i, j), where i ≥ 1 and j


≥ 1. Zero or negative subscripts are not supported in MATLAB.

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-12

6
4.2.2 Working with matrices
Colon operator

 The colon operator will prove very useful and understanding how it
works is the key to efficient and convenient usage of MATLAB.

 It occurs in several different forms. Often we must deal with matrices


or vectors that are too large to enter one element at a time.

 For example, suppose we want to enter a vector x consisting of points


(0, 0.1, 0.2, 0.3, · · ·, 5). We can use the command.

>> x = 0:0.1:5;

The row vector has 51 elements.

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-13

4.2.3 Working with matrices


Linear spacing
 On the other hand, there is a command to generate linearly spaced
vectors: linspace.
 It is similar to the colon operator (:), but give direct control over the
number of points.
 For example, y = linspace (a,b) ,generates a row vector y of 100
points linearly spaced between and including a and b. y = linspace
(a,b,n) ,generates a row vector y of n points linearly spaced between
and including a and b.
 This is useful when we want to divide an interval into a number of
subintervals of the same length. For example,
>> theta = linspace(0,2*pi,101)

 Divides the interval [0, 2π] into 100 equal subintervals, then creating
a vector of 101 elements.
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-14

7
4.2.4 Working with matrices
Colon operator in a matrix
 The colon operator can also be used to pick out a certain row or
column. For example, the statement A (m:n,k:l ) specifies rows m to
n and column k to l. Subscript expressions refer to portions of a
matrix. For example,
>> A (2,:)
ans =
4 5 6

 Is the second row element of A.

 The colon operator can also be used to extract a sub-matrix from a


matrix A.
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-15

4.2.5 Working with matrices


 The colon operator can also be used to extract a sub-matrix from a
matrix A.
>> A(:,2:3)
ans =
2 3
5 6
8 0

 A(:,2:3) is a sub-matrix with the last two columns of A.

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-16

8
4.2.6 Working with matrices

 A row or a column of a matrix can be deleted by setting it to a null


vector, [ ].

>> A (:,2)=[]
ans =
1 3
4 6
7 0

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-17

4.3 Working with matrices


Creating a sub-matrix
 To extract a submatrix B consisting of rows 2 and 3 and columns 1
and 2 of the matrix A, do the following:

>> B = A ([2 3],[1 2])


B=
4 5
7 8
 To interchange rows 1 and 2 of A, use the vector of row indices
together with the colon operator.

>> C = A ([2 1 3], :)


Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-18

9
4.3.1 Working with matrices
>> C = A ([2 1 3], :)

C=
4 5 6
1 2 3
7 8 0

 It is important to note that the colon operator (:) stands for all
columns or all rows.

 To create a vector version of matrix A, do the following: see next


slide.

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-19

4.3.2 Working with matrices


 It is important to note that the colon operator (:) stands for all columns
or all rows. To create a vector version of matrix A, do the following:

>> A(:)
ans =
1
2
3
4
5
6
7
8
0
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-20

10
4.3.3 Working with matrices
 The submatrix comprising the intersection of rows p to q and
columns r to s is denoted by A(p:q, r:s).

 As a special case, a colon (:) as the row or column specifier covers all
entries in that row or column; thus;

 A(:,j) is the jth column of A, while


 A(i,:) is the ith row, and
 A(end,:) picks out the last row of A.

 The keyword end, used in A(end,:), denotes the last index in the
specified dimension. Here are some examples, see next slide.
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-21

4.3.4Working with matrices


>> A
A=
1 4 7
2 5 8
3 6 9
>> A(2:3,2:3)
ans =
5 6
8 9
>> A(end:-1:1,end)
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-22

11
4.3.5 Working with matrices

>> A(end:-1:1,end)
ans =
9
6
3

>> A([1 3],[2 3])


ans =
2 3
8 9
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-23

4.3.6 Working with matrices


Deleting row or column
 To delete a row or column of a matrix, use the empty vector operator,
[ ].
>> A (3,:) = []
A=
1 2 3
4 5 6
 Third row of matrix A is now deleted. To restore the third row, we
use a technique for creating a matrix.

>> A = [A (1,:);A(2,:);[7 8 0]]


A=
1 2 3
4 5 6
7 8 0
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-24

12
Dimension
4.4 Working with matrices

 To determine the dimensions of a matrix or vector, use the command


size. For example,

>> size(A)
ans =
3 3

 Means 3 rows and 3 columns. Or more explicitly with,

>> [m,n]=size(A)

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-25

4.4.1 Working with matrices


Continuation

 If it is not possible to type the entire input on the same line, use
consecutive periods, called an ellipsis . . ., to signal continuation, then
continue the input on the next line.

B= [ 4/5 7.23*tan(x) sqrt(6); …


1/x^2 0 3/(x*log(x)); …
x-7 sqrt(3) x*sin(x)]

 Note that blank spaces around +, −, = signs are optional, but they
improve readability.

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-26

13
4.4.2 Working with matrices
Transposing a matrix

 The transpose operation is denoted by an apostrophe or a single quote


(’). It flips a matrix about its main diagonal and it turns a row vector
into a column vector. Thus;

>> A’
ans =
1 4 7
2 5 8
3 6 0

 By using linear algebra notation, the transpose of m × n real matrix A


is the n × m matrix that results from interchanging the rows and
columns of A. The transpose matrix is denoted AT.
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-27

4.4.3 Working with matrices


Concatenating matrices
Matrices can be made up of sub-matrices. Here is an example. First, let’s recall our
previous matrix A.
A=
1 2 3
4 5 6
7 8 9
The new matrix B will be,
>> B = [A 10*A; -A [1 0 0; 0 1 0; 0 0 1]]
B=
1 2 3 10 20 30
4 5 6 40 50 60
7 8 9 70 80 90
-1 -2 -3 1 0 0
-4 -5 -6 0 1 0
-7 -8 -9 0 0 1
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-28

14
4.5 Working with matrices
Matrix generators
 MATLAB provides functions that generate elementary matrices. The
matrix of zeros, the matrix of ones, and the identity matrix are
returned by the functions zeros, ones, and eye, respectively.

Table 5: Elementary matrices


Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-29

4.5.1 Working with matrices


 For a complete list of elementary matrices and matrix manipulations,
type helps elmat or doc elmat. Here are some examples:

1. >> b=ones (3,1)


b=
1
1
1
Equivalently, we can define b as >> b=[1;1;1]

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-30

15
4.5.2 Working with matrices
2. >> eye (3)
ans =
1 0 0
0 1 0
0 0 1

3. >> c=zeros (2,3)


c=
0 0 0
0 0 0

 In addition, it is important to remember that the three elementary


operations of addition (+), subtraction (−), and multiplication (∗)
apply also to matrices whenever the dimensions are compatible.
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-31

4.5.3 Working with matrices


 Two other important matrix generation functions are rand and randn,
which generate matrices of (pseudo-) random numbers using the same
syntax as eye. In addition, matrices can be constructed in a block
form. With C defined by C = [1 2; 3 4], we may create a matrix D as
follow:
>> D = [C zeros (2); ones (2,1) eye (2)]

D=
1 2 0 0
3 4 0 0
1 1 1 0
1 1 0 1
Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-32

16
4.6 Working with matrices
Special matrices
 MATLAB provides a number of special matrices (see Table below).
These matrices have interesting properties that make them useful for
constructing examples and for testing algorithms.

 For more information, see MATLAB documentation.

Table 6: Special Matrix


Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-33

3.7 Conclusion

 In this lecture presentation, you learnt the basics concept of Matlab


programming.

 In addition, you learnt about matrices in Matlab.

 This is the end of this presentation In the next class, we will continue
with the basics of the Matlab Programming language. Guess what? …
Arrays and linear equations in Matlab.

Welcome to Matlab Programming Language!

Acknowledgement: A lecture note presentation adapted and prepared based on the books by the following
ECEBjarne,
authors: 361 Stroustrup; Ulla, Kirch-Prinz and Peter, Prinz; Robert, Lafore. 1-34

17
COMPUTER PROGRAMMING FOR ENGINEERS

Questions and Answers

THANK YOU FOR


LISTENING

18

You might also like