0% found this document useful (0 votes)
489 views

Matlab Tutorial

The document provides a tutorial on fundamentals of programming using MATLAB. It outlines 6 sections: 1) MATLAB Basics which covers defining variables, matrices and general information, 2) Plotting, 3) Continuous Time System Analysis, 4) Discrete-Time System Analysis, 5) Loading and Saving Data, and 6) Introduction to Simulink. MATLAB allows matrix and vector algebra operations and functions for modeling, analyzing and simulating dynamic systems. The tutorial demonstrates various MATLAB commands for tasks like defining variables, plotting, performing convolution, and creating Simulink models.

Uploaded by

Umair Shahid
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
489 views

Matlab Tutorial

The document provides a tutorial on fundamentals of programming using MATLAB. It outlines 6 sections: 1) MATLAB Basics which covers defining variables, matrices and general information, 2) Plotting, 3) Continuous Time System Analysis, 4) Discrete-Time System Analysis, 5) Loading and Saving Data, and 6) Introduction to Simulink. MATLAB allows matrix and vector algebra operations and functions for modeling, analyzing and simulating dynamic systems. The tutorial demonstrates various MATLAB commands for tasks like defining variables, plotting, performing convolution, and creating Simulink models.

Uploaded by

Umair Shahid
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

Matlab Tutorial

Fundamentals of programming Using


Matlab

By: IEEE Student Branch


Lakehead University, Thunder
Bay
1
Tutorial Plan
 1. MATLAB Basics
 2. Plotting
 3. Continuous Time System Analysis
 4. Discrete-Time System Analysis
 5. Loading and Saving Data
 6. Introduction to Simulink

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];

TF2ZP Transfer function to zero-pole conversion


- zeros, poles and gain of a transfer function from the vectors num and de
[z,p,k]=tf2zp(num,den)
z = -1.5000 p = -4.2737, 0.1369 + 1.0729i, 0.1369 - 1.0729i k=2
-[num,den] = zp2tf(z,p,k)
From zeros, poles and gain, we can get the TF using zp2tf

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:

bode, Freqs, logspace,


log10, semilogx, unwrap
Eg: bode(tf([1],[1 1]));
1/s+1
D. Analog Filter Design
 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

- h(t), assumed known, the response of the system to a unit


impulse input
To perform discrete time convolution, x[n]*h[n]
define x[n] and h[n]
y = conv(x,h) - This command assumes that the first element in
x and the first element in h correspond to n=0, so that the
first element in the resulting output vector corresponds to
n=0. If this is not the case, then the output vector will be
computed correctly, but the index will have to be adjusted.

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

End of presentation. Thanks for your participation!!!


18

You might also like