Instrumentation & Control Systems Lab MEEN 4250 Lab 01 Objective
Instrumentation & Control Systems Lab MEEN 4250 Lab 01 Objective
Instrumentation & Control Systems Lab MEEN 4250 Lab 01 Objective
MEEN 4250
Lab 01
Objective: Introduction to MATLAB its functions and applications.
Matlab is a tool for doing numerical computations with matrices and vectors. It can also
display information graphically. The best way to learn what Matlab can do is to work through
some examples at the computer.
Matlab program and script files always have filenames ending with ".m"; the programming
language is exceptionally straightforward since almost every data object is assumed to be an array.
Graphical output is available to supplement numerical results.
1.1 Matrices
Once you know how to enter and display matrices, it is easy to compute with them. First we will
square the matrix a :
>> a * a
Wasn't that easy? Now we'll try something a little harder. First we define a matrix b:
>> b = [ 1 2; 0 1 ]
Then we compute the product ab:
>> a*b
>> b*a
Notice that the two products are different: matrix multiplication is non commutative.
Of course, we can also add matrices:
>> a + b
Now let's store the result of this addition so that we can use it later:
>> s = a + b
Matrices can sometimes be inverted:
>> inv(s)
To check that this is correct, we compute the product of s and its inverse:
>> s * inv(s)
The result is the unit, or identity matrix. We can also write the computation as
>> s/s
>> s\s
which is the same as
>> inv(s) * s
To see that these operations, left and right division, are really different, we do the following:
>> a/b
>> a\b
Not all matrices can be inverted, or used as the denominator in matrix division:
>> c = [ 1 1; 1 1 ]
>> inv(c);
>> det(a)
>> det(c)
A transpose of a matrix
>> a
rand(7)
You can generate random matrices of other sizes and get help on the rand command within
matlab:
rand(2,5)
help rand
Another special matrix, called a Hilbert matrix, is a standard example in numerical linear
algebra.
hilb(5)
help hilb
magic(5)
help magic
A magic square is a square matrix which has equal sums along all its rows and columns. We'll
use matrix multiplication to check this property a bit later.
Some of the standard matrices from linear algebra are easily produced:
eye(6)
zeros(4,7)
ones(5)
You can also build matrices of your own with any entries that you may want
At any time you want to know the active variables you can use who:
who
>> whos
Name Size Bytes Class
Clc
Clear
Clear (variables)
Colon Notation:
Matlab offers some powerful methods for creating arrays and for taking them apart.
x=-2:1
length(x)
-2:.5:1
-2:.2:1
a=magic(5)
a(2,3)
a(2,:)
a(:,3)
a
a(2:4,:)
a(:,3:5)
a(2:4,3:5)
a(1:2:5,:)
a(:,[1 2 5])
And
You may have discovered by now that MATLAB is case sensitive, that is "a" is not the same as
"A." If this proves to be an annoyance, the command
casesen
The MATLAB display only shows 5 digits in the default mode. The fact is that MATLAB always
keeps and computes in a double precision 16 decimal places and rounds the display to 4 digits.
The command
format long
will return to the shorter display. It is also possible to toggle back and forth in the scientific
notation display with the commands
format short e
and
format long e
It is not always necessary for MATLAB to display the results of a command to the screen. If you
do not want the matrix A displayed, put a semicolon after it, A;. When MATLAB is ready to
proceed, the prompt >> will appear. Try this on a matrix right now.
Sometimes you will have spent much time creating matrices in the course of your MATLAB
session and you would like to use these same matrices in your next session. You can save these
values in a file by typing
save filename
filename.mat
One of the most common applications of matrix algebra occursin the solution of linear
simultaneous equations. Consider a set of n equations for which the unknowns are x1, x2, ....... xn.
Note that only when the equations are linear in the unknown xi's is the matrix formulation
possible.
The classical matrix solution to this equation is based on the definition of the inverse of a
matrix. The inverse of a matrix is that matrix which when multiplied by the original matrix, results
in the identity matrix. Then
a-1 a = I
where a-1 denotes the 'inverse of matrix a' and I denotes the identity matrix of the same order as
matrix 'a'. If 'a' is a known coefficient matrix and if 'b' is a column vector of known terms, the
problem is one of finding the n vales of x1, x2, .... xn that satisfy these simultaneous equations.
Pre-multiplying both sides of the equation by the inverse of 'a' gives
[a-1][a][x] = [a-1][b]
or
[x] = [a-1][b]
Thus if we find the inverse of the coefficient matrix, the product of the inverse times the matrix of
non-homogeneous terms, b, yields the unknown matrix, x. To observe the simple property of the
inverse, define the 4x4 matrix, C
C = [1 -4 3 2; 3 1 -2 1; 2 1 1 -1; 2 -1 3 1]
C_inverse = inv(C)
We leave to a study of linear algebra, the method and steps required to calculate the inverse of
a matrix. Suffice it to say here that for systems of equations numbering in the hundreds or
thousands, which often occur in complex engineering problems, the calculation of the matrix
inverse is a time consuming operation even for modern computers.
As an example of solving a system of equations using the matrix inverse, consider the following
system of three equations.
x1 - 4x2 + 3x3 = -7
3x1 + x2 - 2x3 = 14
2x1 + x2 + x3 = 5
Using 'matlab', define the two matrices for [a] and [b].
a = [ 1 -4 3; 3 1 -2; 2 1 1];
b = [ -7; 14; 5];
x = inv(a)*b
giving
x=[3
1
-2 ]
In contrast to matrix inversion, the preferred methods of solution for large-scale systems of
simultaneous equations are methods of back substitution whereby the equations can be rearranged
so that first xn is solved, then xn-1 and so on until finally x1 is obtained in order. Thus in back
substitution we never solve the equations simultaneously, rather we solve them sequentially. For
example, the above set of equations can be rearranged through appropriate combination into the
below equations. (You should carry out this algebra to ensure you understand the steps matlab
takes in solving with back substitution. In the general case, the steps or algorithm is much more
complex than that required for 3 equations.)
x1 - 4x2 + 3x3 = -7
13x2 - 11x3 = 35
(34/13)x3 = (68/13)
In this format, we see from the third equation the solution for x3= 2 and knowing this, the second
equation yields x2 = 1, and knowing both x3 and x2, the first equation gives x1 = 1. This is an
application of back substitution, whereby each unknown is obtained by simple sequential solution
to a single equation. Methods of back substitution are employed by 'matlab' when we invoke the
'right division' and 'left division' commands.
\ left division
/ right division
Understand that matrices cannot be divided. The operation is not defined. The syntax of 'right
division' and 'left division' simply invoke back substitution methods for obtaining a solution vector
from a system of simultaneous equations. Whether 'right division' (/) or 'left division' (\) is
appropriate depend on how the matrix equation is posed.
[a][x] = [b]
then we have a nxn matrix [a] pre-multiplying a nx1 matrix [x], resulting in a nx1 matrix [b]. The
solution for x is obtained by using the left division operation.
[x] = [a]\[b]
If the matrix equation is cast in this format, the use of right division to obtain the solution vector
x will result in an error message.
Returning to 'matlab', recall we have defined the matrices [a] and [b] in the format of the
matrix equation appropriate for left division.
a = [ 1 -4 3; 3 1 -2; 2 1 1];
b = [ -7; 14; 5];
x1 = [ 3
1
-2 ]
which i s the same result found earlier for x when solving by matrix inversion.
Right Division. The matrix format in which right division is employed is less common but no
less successful in solving the problem of simultaneous equations. Right Division is invoked
when the equations are written in the form
[x][A] = [B]
Note that in this form [x] and [B] are row vectors rather than column vectors as above. This form
represent a 1xn matrix (x) pre- multiplying a nxn matrix (A), resulting an a 1xn matrix (B).
Again, recalling the set of equations,
x1 - 4x2 + 3x3 = -7
3x1 + x2 - 2x3 = 14
2x1 + x2 + x3 = 5
[x][A] =[B]
if
x = [x1 x2 x3] B = [ -7 14 5]
and
1 3 2
[A] = -4 1 1
3 -2 1
A = a'
Having so defined A and B, the solution for x can be obtained by
right division.
x = B/A
results in
x=[3
1
-2 ]
Exercise:
r + s + t + w = 4
2r - s + w = 2
3r + s - t - w = 2
r - 2s - 3t + w = -3