Chemical Engineering Computation: 1: Introduction To MATLAB
Chemical Engineering Computation: 1: Introduction To MATLAB
Chemical Engineering
Computation
Chapter 1: Introduction to MATLAB
Saharudin Haron
Chemical Engineering Computation
Saharudin Haron, UTM
Chapter Objectives
It is expected that students have the ability to:
Page 2 - 2
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 4
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 5
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 6
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 7
Chemical Engineering Computation
Saharudin Haron, UTM
Calculator Mode
The MATLAB command window can be used as a
calculator where you can type in commands line by line.
Whenever a calculation is performed, MATLAB will
assign the result to the built-in variable ans
Example:
>> 55 - 16
ans =
39
Page 2 - 8
Chemical Engineering Computation
Saharudin Haron, UTM
MATLAB Variables
MATLAB allows you to assign values to variable names.
This results in the storage of values to memory locations
corresponding to the variable name.
MATLAB can store individual values as well as arrays; it
can store numerical data and text (which is actually
stored numerically as well).
MATLAB does not require that you pre-initialize a
variable; if it does not exist, MATLAB will create it for
you.
Page 2 - 9
Chemical Engineering Computation
Saharudin Haron, UTM
MATLAB Variables
To assign a single value to a variable, simply type
the variable name, the = sign, and the value:
>> a = 4
a =
4
Note that variable names must start with a letter,
though they can contain letters, numbers, and
the underscore (_) symbol
Page 2 - 10
Chemical Engineering Computation
Saharudin Haron, UTM
MATLAB Variables
You can tell MATLAB not to
report the result of a calculation >> a = 4; b = 3;
by appending the semi-colon >> c = a + b;
(;) to the end of a line. The
>> d = a b;
calculation is still performed.
You can ask MATLAB to report
>> c
the value stored in a variable by
c =
typing its name.
7
Page 2 - 11
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 13
Chemical Engineering Computation
Saharudin Haron, UTM
Mathematical Operations
The common operators, in order of priority, are:
^ Exponentiation 4^2 = 16
- Negation -8 = -8
Page 2 - 15
Chemical Engineering Computation
Saharudin Haron, UTM
Mathematical Operations
The order of operations is set first by
parentheses, then by the default order of the
operators:
y = -4 ^ 2 gives y = -16
since the exponentiation happens first due to its
higher default priority, but
y = (-4) ^ 2 gives y = 16
since the negation operation on the 4 takes place first
Page 2 - 16
Chemical Engineering Computation
Saharudin Haron, UTM
A complete list
of functions
organized by
category can be
found in Help
Window.
Page 2 - 17
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 18
Chemical Engineering Computation
Saharudin Haron, UTM
Array Examples
>> a = [1 2 3 4 5 ]
a =
1 2 3 4 5
>> b = [2;4;6;8;10]
b =
2
4
6
8 Note - MATLAB does not display the brackets
10
Page 2 - 19
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 21
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 22
Chemical Engineering Computation
Saharudin Haron, UTM
Matrices
A 2-D array, or matrix, of data is entered row by row,
with spaces (or commas) separating entries within the
row and semicolons separating the rows:
>> A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
Page 2 - 24
Chemical Engineering Computation
Saharudin Haron, UTM
Matrices
Individual entries within a array can be both read and
set using either the index of the location in the array or
the row and column.
The index value starts with 1 for the entry in the top left
corner of an array and increases down a column - the
following shows the indices for a 4 row, 3 column
matrix:
1 5 9
2 6 10
3 7 11
4 8 12
Page 2 - 25
Chemical Engineering Computation
Saharudin Haron, UTM
Matrices
Assuming some matrix C:
C =
2 4 9 C(2) would report 3
3 3 16 C(4) would report 10
3 0 8 C(13) would report an error!
10 13 17
Page 2 - 26
Chemical Engineering Computation
Saharudin Haron, UTM
Vector-Matrix Calculations
MATLAB can also perform operations on vectors and matrices.
The * operator for matrices is defined as the outer product or
what is commonly called matrix multiplication.
The number of columns of the first matrix must match the number of rows
in the second matrix.
The size of the result will have as many rows as the first matrix and as
many columns as the second matrix.
The exception to this is multiplication by a 1x1 matrix, which is actually an
array operation.
The ^ operator for matrices results in the matrix being matrix-
multiplied by itself a specified number of times.
Note - in this case, the matrix must be square!
Page 2 - 27
Chemical Engineering Computation
Saharudin Haron, UTM
Element-by-Element Calculations
At times, you will want to carry out calculations item by item in a
matrix or vector. The MATLAB manual calls these array
operations. They are also often referred to as element-by-
element operations.
MATLAB defines .* and ./ (note the dots) as the array
multiplication and array division operators.
For array operations, both matrices must be the same size or one of the
matrices must be 1x1
Array exponentiation (raising each element to a corresponding
power in another matrix) is performed with .^
Again, for array operations, both matrices must be the same size or one of
the matrices must be 1x1
Page 2 - 28
Chemical Engineering Computation
Saharudin Haron, UTM
Element-by-Element Calculations
If two vectors a and b are a = [a1 a2 a3 a4] and b = [b1 b2 b3 b4],
then element-by-element multiplication, division, and
exponentiation of the two vectors gives:
Page 2 - 29
Chemical Engineering Computation
Saharudin Haron, UTM
Element-by-Element Calculations
Page 2 - 30
Chemical Engineering Computation
Saharudin Haron, UTM
Element-by-Element Calculations
Page 2 - 31
Chemical Engineering Computation
Saharudin Haron, UTM
Graphics
MATLAB has a powerful suite of built-in graphics
functions.
Two of the primary functions are plot (for plotting 2-D
data) and plot3 (for plotting 3-D data).
In addition to the plotting commands, MATLAB allows
you to label and annotate your graphs using the title,
xlabel, ylabel, and legend commands.
Page 2 - 32
Chemical Engineering Computation
Saharudin Haron, UTM
Plotting Example
t = [0:2:20];
g = 9.81; m = 68.1; cd = 0.25;
v = sqrt(g*m/cd) * tanh(sqrt(g*cd/m)*t);
plot(t, v)
Page 2 - 33
Chemical Engineering Computation
Saharudin Haron, UTM
Page 2 - 34
Chemical Engineering Computation
Saharudin Haron, UTM