EE332 Lab1
EE332 Lab1
Lab Experiment 1
Objectives:
This lab introduces MATLAB in the first part. The lab also provides tutorial of polynomials,
script writing and programming aspect of MATLAB fromcontrol systems viewpoint.
List of Equipment/Software
• MATLAB
Deliverables
MATLAB TUTORIAL
Reference: Engineering Problem Solving Using MATLAB, by Professor Gary Ford, University of California, Davis.
Topics
Introduction
MATLAB Environment
Getting Help
Variables
Plotting
Introduction
What is MATLAB?
• MATLAB is a computer program that combines computation and
visualization power that makes it particularly useful tool for
engineers.
• MATLAB is an executive program, and a script can be made with a
list of MATLAB commands like other programming language.
MATLAB Stands for MATrix LABoratory.
• The system was designed to make matrix computation particularly easy.
MATLAB
Environment
To start MATLAB:
START PROGRAMS
MATLAB 6.5 MATLAB
6.5
Or shortcut creation/activation
on the desktop
Display Windows
Getting Help
Variables
Variable names:
Must start with a letter
May contain only letters, digits, and the underscore “_”
Matlab is case sensitive, i.e. one & OnE are different variables.
Matlab only recognizes the first 31 characters in a variable name.
Assignment statement:
Variable = number;
Variable = expression;
Example: NOTE: when a semi-colon
>> tutorial = 1234; ”;” is placed at the end of
>> tutorial = 1234
tutorial = each command, the result
1234 is not displayed.
Variables (con’t…)
Special variables:
ans : default variable name for the result
pi: π = 3.1415926…………
eps: ∈ = 2.2204e-016, smallest amount by which 2 numbers can differ.
Inf or inf : ∞, infinity
NaN or nan: not-a-number
Commands involving variables:
who: lists the names of defined variables
whos: lists the names and sizes of defined variables
clear: clears all varialbes, reset the default values of special
variables.
clear name: clears the variable name
clc: clears the command window
clf: clears the current figure and the graph window.
Vectors
A row vector in MATLAB can be created by an explicit list, starting with a left bracket,
entering the values separated by spaces (or commas) and closing the vector with a right
bracket.
A column vector can be created the same way, and the rows are separated by semicolons.
Example:
>> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi ]
x=
0 0.7854 1.5708 2.3562 3.1416 x is a row vector.
>> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ]
y=
0
0.7854 y is a column vector.
1.5708
2.3562
3.1416
Vectors (con’t…)
Vector Addressing – A vector element is addressed in MATLAB with an integer
index enclosed in parentheses.
Example:
>> x(3)
ans =
1.5708 3rd element of vector x
The colon notation may be used to address a block of elements.
(start : increment : end)
start is the starting index, increment is the amount to add to each successive index, and end
is the ending index. A shortened format (start : end) may be used if increment is 1.
Example:
>> x(1:3)
ans =
0 0.7854 1.5708 1st to 3rd elements of vector x
Vectors (con’t…)
Some useful commands:
y = x’ transpose of vector x
dot (x, y) returns the scalar dot product of the vector x and y.
Matrices
A Matrix array is two-dimensional, having both multiple rows and multiple columns,
similar to vector arrays:
it begins with [, and end with ]
spaces or commas are used to separate elements in a row
semicolon or enter is used to separate rows.
•Example:
A is an m x n matrix.
>> f = [ 1 2 3; 4 5 6]
f=
1 2 3
4 5 6
>> h = [ 2 4 6
1 3 5]
h=
2 4 6
1 3 5
the main diagonal
Matrices (con’t…)
Magic Function
For example you can generate a matrix by entering
>> m=magic(4)
It generates a matrix whose elements are such that the sum of all elements in
its rows, columns and diagonal elements are same
Sum Function
You can verify the above magic square by entering
>> sum(m)
For rows take the transpose and then take the sum
>> sum(m’)
Diag
You can get the diagonal elements of a matrix by entering
>> d=diag(m)
>> sum(d)
Matrices (con’t…)
Matrix Addressing:
-- matrixname(row, column)
-- colon may be used in place of a row or column reference to select
the entire row or column.
Example:
recall:
>> f(2,3) f=
ans = 1 2 3
6 4 5 6
>> h(:,1) h=
ans = 2 4 6
2
1 3 5
1
Matrices (con’t…)
Some useful commands:
zeros(n) returns a n x n matrix of zeros
zeros(m,n) returns a m x n matrix of zeros
Matrices (con’t…)
more commands
Transpose B = A’
Identity Matrix eye(n) returns an n x n identity matrix
eye(m,n) returns an m x n matrix with ones on the main
diagonal and zeros elsewhere.
Addition and subtraction C=A+B
C=A–B
Scalar Multiplication B = αA, where α is a scalar.
Matrix Multiplication C = A*B
Matrix Inverse B = inv(A), A must be a square matrix in this case.
rank (A) returns the rank of the matrix A.
Matrix Powers B = A.^2 squares each element in the matrix
C = A * A computes A*A, and A must be a square matrix.
Determinant det (A), and A must be a square matrix.
A, B, C are matrices, and m, n, α are scalars.
Array Operations
Scalar-Array Mathematics
For addition, subtraction, multiplication, and division of an array by a
scalar simply apply the operations to all elements of the array.
Example:
>> f = [ 1 2; 3 4]
f=
1 2
3 4
>> g = 2*f – 1 Each element in the array f is
g=
1 3 multiplied by 2, then subtracted
5 7 by 1.
Example:
>> x = [ 1 2 3 ];
>> y = [ 4 5 6 ];
Each element in x is multiplied by
>> z = x .* y the corresponding element in y.
z=
4 10 18
Ax = b
NOTE:
left division: A\b b ÷ A right division: x/y x ÷ y
Plotting
For more information on 2-D plotting, type help graph2d
Plotting a point: the function plot () creates a
>> plot ( variablename, ‘symbol’) graphics window, called a Figure
window, and named by default
“Figure No. 1”
axis ([xmin xmax ymin ymax]) Define minimum and maximum values of the axes
axis square Produce a square plot
axis equal equal scaling factors for both axes
axis normal turn off axis square, equal
axis (auto) return the axis to defaults
Plotting (con’t…)
Plotting Curves:
plot (x,y) – generates a linear plot of the values of x (horizontal axis) and y
(vertical axis).
semilogy (x,y) – generate a plot of the values of x and y using a linear scale
for x and a logarithmic scale for y.
Plotting (con’t…)
Multiple Curves:
plot (x, y, w, z) – multiple curves can be plotted on the same graph by using
multiple arguments in a plot command. The variables x, y, w, and z are
vectors. Two curves will be plotted: y vs. x, and z vs. w.
legend (‘string1’, ‘string2’,…) – used to distinguish between plots on the
same graph
Multiple Figures:
figure (n) – used in creation of multiple plot windows. place this command
before the plot() command, and the corresponding figure will be labeled as
“Figure n”
close – closes the figure n window.
close all – closes all the figure windows.
Subplots:
subplot (m, n, p) – m by n grid of windows, with p specifying the
current plot as the pth window
Plotting (con’t…)
Example: (polynomial function)
plot the polynomial using linear/linear scale, log/linear scale, linear/log scale, & log/log
scale:
y = 2x2 + 7x + 9
Plotting (con’t…)
Plotting (con’t…)
Adding new curves to the existing graph:
Use the hold command to add lines/points to an existing plot.
hold on – retain existing axes, add new curves to current axes. Axes are
rescaled when necessary.
hold off – release the current figure window for new plots
Grids and Labels:
Command Description
grid on Adds dashed grids lines at the tick marks
grid off removes grid lines (default)
grid toggles grid status (off to on, or on to off)
title (‘text’) labels top of plot with text in quotes
xlabel (‘text’) labels horizontal (x) axis with text is quotes
ylabel (‘text’) labels vertical (y) axis with text is quotes
text (x,y,’text’) Adds text in quotes to location (x,y) on the current axes, where (x,y) is in
units from the current plot.
color of the point or curve Marker of the data points Plot line styles
Symbol Color Symbol Marker Symbol Line Style
y yellow . • – solid line
m magenta o ° : dotted line
c cyan x × –. dash-dot line
r red + + –– dashed line
g green * ∗
b blue s □
w white d ◊
k black v ∇
^ ∆
h hexagram
Exercise 1:
Exercise 2:
x=pi/2:pi/10:2*pi;
y=sin(x);
z=cos(x);