Matlab Tutorial
Matlab Tutorial
2
1. MATLAB Basics
A. Definition of Variables
- Variables are assigned numerical values by typing the
expression directly, for example: a = 1+2
yields: a = 3
- The answer will not be displayed when a semicolon is
put at the end of an expression, for example type a =
1+2;
Predefined variables which can be used at any time:
i: sqrt(-1), j: sqrt(-1), pi: 3.1416...
complex number example:
y= 2*(1+4*j)
yields: y = 2.0000 + 8.0000i
3
B. Definition of Matrices
MATLAB is based on matrix and vector algebra; even scalars are treated
as 1x1 matrices
Lets creates a 1x4 vector with elements 1, 3, 5 and 7
v = [1 3 5 7];
twoXthree= [1 2 4; 3 6 8];
[M,N] = size(twoXthree) returns the number of rows (2) and
columns (3) in separate output variables.
Lets creates the matrices: t = 0:10; x = cos(t*pi);
x with elements equal to cos(t*pi) for t = 0, 1,..., 10.
X [cos(0) cos(pi) cos(2*pi)…..cos(10*pi)]
4
Matrix
Solve the following equation:
X+Y=5; 2X+Y=7; %use CAP
Cramers Rule to solve a 2x2 matrix:
A=[1 1;2 1]; C=[5; 7];
Solution [X Y] inv(A)*C’
[X Y]=[2 3]
5
C. General Information
Matlab is case sensitive so "a" and "A" are two different names.
Comment statements are preceded by a “%”
help for MATLAB can be reached by typing help
format of the display:
- format short e; Floating point format with 5 digits.
- format long e; Floating point format with 15 digits.
The commands who and whos give the names of the variables
that have been defined in the workspace.
The command length(x) returns the length of a vector x and
size(x) returns the dimension of the matrix x.
- length(x): 11
- size(x): 1 11
6
D. M-files
M-files are macros of MATLAB commands that are
stored as ordinary text files with the extension "m", that
is filename.m
example of an M-file that defines a function, create a file
in your working directory named yplusx.m that contains
the following commands:
Write this file:
function z = yplusx(y,x)
z = y + x;
-save the above file(2lines) as yplusx.m
x = 2; y = 3;
z = yplusx(y,x) 5
Get input by prompting on m-file:
T = input('Input the value of T: ')
7
2. Plotting
Commands covered: plot, xlabel, ylabel, title grid, axis,
stem, subplot
xlabel('time (sec)'); ylabel('step response'); title('My Plot');
Eg:To plot more than one graph on the screen, use the
command subplot(mnp) which partitions the screen into an
mxn grid where p determines the position of the particular
graph counting the upper left corner as p=1. For example,
subplot(211),semilogx(w,magdb);
subplot(212),semilogx(w,phase);
8
3D - Plotting example
x=[0:10]; y=[0:10]; z=x’*y;
mesh(x,y,z); title(‘3-D Graph’);
9
3. Continuous Time
System Analysis
A. Transfer Function Representation
Comments: tf2zp, zp2tf, cloop, feedback
Eg: num = [2 3];
den = [1 4 0 5];
10
B. Time Simulations
Commands covered: residue, step,
impulse, lsim
Eg: num = 1; den = [1/2 1];
t = 0:3/300:3; % for a time constant of 1/2
y = step(num,den,t);
plot(t,y) OR step(tf(num,den));
11
Continuous Time System
Analysis continue
C. Frequency Response
Plots
Commands covered:
butter,cheby, zp2tf
12
4. Discrete-Time System
Analysis
A. Convolution
Commands covered: conv, deconv
- The behavior of a linear, continuous-time, time-invariant
system with input signal x(t) and output signal y(t) is
described by the convolution integral
13
Convolution
For example,
x = [1 1 1 1 1]; [1 1 1 1 1]
h = [0 1 2 3]; [3 2 1 0]
conv(x,h) yields y = [0 1 3 6 6 6 5 3].
stem(y);
ylabel(‘Conv');
xlabel(‘sample number’);
14
5. Loading and Saving
Data
When using MATLAB, you may wish to
leave the program but save the vectors
and matrices you have defined. To save
the file to the working directory, type
save filename
where "filename" is a name of your choice.
To retrieve the data later, type
load “filename”
15
6. Introduction to Simulink
Simulink is a software package for modeling,
simulating, and analyzing dynamic systems.
It supports linear and nonlinear systems,
modeled in continuous time,
sampled time, or a hybrid of the two.
Systems can also be multirate, i.e., have
different
parts that are sampled or updated at
different rates.
16
Simulink Example
Differential block & Integral block
17
Example results
Integral
Pulse
Differential