Вы находитесь на странице: 1из 8

Nazeer HussaiN uNiversity

DEPARTMENT OF ELECTRICAL ENGINEERING

Linear Control Systems


Lab Experiment # 01

Name: Roll No:

Score: Signature of the Lab Tutor: Date:

Introduction to MATLAB Environment & Basics

OBJECTIVE:
After the successful completion of this lab, students will be able to:
To be familiar with the environment and Basics of MATLAB
Use of MATLAB in Control Systems
Basic Commands used for vector Analysis
Basic Plotting techniques
Examples
LAB REQUIREMENTS:
PC with Windows Operating System.
MATLAB 2007/2009/2010/Latest version

Introduction to MATLAB:
MATLAB stands for Matrix Laboratory. It is a high-level language and interactive environment
for numerical computation, visualization, and programming. Using MATLAB, you can analyze
data, develop algorithms, and create models and applications. The language, tools, and built-in
math functions enable you to explore multiple approaches and reach a solution faster than with
spreadsheets or traditional programming languages, such as C/C++ or Java.

You can use MATLAB for a range of applications, including signal processing and
communications, image and video processing, control systems, test and measurement,
computational finance, and computational biology to design their own applications and can find
the transfer function for any system and their controllers.

You can Simulate and analyze the result, Check out various possibilities for multiple inputs, can
work in frequency and time domain, develop your own block diagrams etc. Simulink library gives
a huge range of defined blocks for creating applications without writing codes.

More than a million engineers and scientists in industry and academia use MATLAB, the language
of technical computing.

When you start MATLAB, the desktop appears in its default layout as shown in
figure 1a. The desktop includes these panels:

Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 1


Nazeer HussaiN uNiversity
DEPARTMENT OF ELECTRICAL ENGINEERING

Current Folder Access your files.


Command Window Enter commands at the command line, indicated by the prompt (>>).
Workspace Explore data that you create or import from files.

Fig: 1a Matlab layout

Basic Commands used for vector Analysis and Other functions:


Entering a Vector: Any vector can be entered in the command window containing
certain values. A=[1234]
B = [0 1 3 4];
Operations performed on vectors: Various operations can be performed on the
command window including Addition, multiplication, division, etc.
B=A+A, C=A-B, D=A*B
Point Operator: Point operator is used for element by element calculations.
C=A.*A.. it will multiply corresponding elements of A with A
D=A. /B.. it will divide corresponding elements of A with B
(Make sure order of matrix should be same).
Transpose: Transpose can be found using compliment operator or any matrix can be
converted to column matrix by use of semicolon.
B=A
C= [1; 2; 3; 4]
Both will give same results

Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 2


Nazeer HussaiN uNiversity
DEPARTMENT OF ELECTRICAL ENGINEERING

Use of Semicolon and Parenthesis: Semicolon is used to terminate the corresponding line
operation, shift the cursor to the next line without executing it and it also suppresses the
output of any operation; while ( ) are used to execute any function you specified.
Clear and Clc command: Clear command clear all the variables which are used from the
memory location preventing any unpredictable result. Clc command just clear the screen
or the command window.
Trigonometric functions: You have variety of trigonometric functions on MATLAB
including sine, cosine, tangent, inverse and hyperbolic of these function, logarithmic etc
x = 20;
cos(x)Cosine of 20 asin(x)..inverse of sine
sin(x) sine of 20 acos(x).inverse of cosine
csc(x)..cosecant of 20 sinh(x)..hyperbolic of sine
Zeros and Ones:
zeros.. Will yield 1 by 1 matrix containing all elements zeros
ones.. Will yield 1 by 1 matrix containing all elements ones
ones(2)..Will yield 2 by 2 matrix containing all elements one
zeros(2).. Will yield 2 by 2 matrix containing all elements zeros
WHO command: who command is used to display all the variables which are declared
in the command window before using CLEAR command.
who press enter
Inverse of a Matrix: Inverse can be calculated using inv command
A=[1 3;1 2];.(Matrix should be square Matrix)
inv(A)
Linspace:.Linear spaced generates a row vector of 100 linearly equally spaced points
between X1 and X2.
linspace(1,5)
Logspace: It generates again certain vectors which are logarithmically spaced of 50
logarithmically equally spaced points between decades 10^X1 and 10^X2.
logspace(x1,x2)
Identity Matrix: Matlab allows you to find identity Matrix by eye command
eye(n)where n = order of the matrix

DET Determinant: DET(X) is the determinant of the square matrix X.

INV Matrix inverse: INV(X) is the inverse of the square matrix X.


EYE(N) is the N-by-N identity matrix. EYE(M,N) or EYE([M,N]) is an M-by-N matrix
with 1's on the diagonal and zeros elsewhere.
DIAG(x): Diagonal matrices and diagonals of a matrix
RAND random number: RAND (N) returns an N-by-N matrix containing
pseudorandom values drawn from the standard uniform distribution on the open
interval(0,1).
RAND(M,N) or RAND([M,N]) returns an M-by-N matrix.
E.g rand(1,3)
RANDPERM(N) : A random permutation of the integers 1 to n can be generated using
the RANDPERM(N) function
Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 3
Nazeer HussaiN uNiversity
DEPARTMENT OF ELECTRICAL ENGINEERING

randperm(5)
To create a random number between interval a and b, we can use following command
a=1; b=5
a+(b-a)*rand(1,3)

Basic Plotting Commands and Codes:


Continuous Time Plots:
Plot command: PLOT command is used to plot continuous tome signal defined in time
domain as shown in figure.
plot(t,y) where y is desired function and t is time is seconds

Subplot: It is used to display 2 or more graphical function on the same graph with two
different plots as shown in the figure.
subplot(2,1,1)
2 shows number of graphs, 1 shows one is plotted and last one shows out of 2 functions 1 st
function is plotted first. (Note: Use plot command first).
subplot(2,1,2)

Multiple functions on same plot: to plot 2 or more function simultaneously on one


graph use the following code
Plot (axis1,function1,axis2,function2)
Plot(t,y1,t,y2)
Plot(t,y1,o,t,y2,*)

Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 4


Nazeer HussaiN uNiversity
DEPARTMENT OF ELECTRICAL ENGINEERING

Plotting with symbols: To plot certain distinct values on the continuous graph use the
following code.
Plot(t,*).. just points in form of * are plotted
Plot(t,y,*) Graph along function and distinct points are plotted

Bar charts:
Bar(x)

Discrete Plots: Use


Stem Command: STEM command to plot discrete time signals. Define n vector rather t.

Modifying Your Graph:

AXIS Command: Define x and y axis and give range for x and y axis
axis ([x1 x2 y1 y2])

X-LABEL Command: It gives x-axis appropriate label


xlabel(time in seconds)

Y-L ABEL Command: It gives x-axis appropriate label

Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 5


Nazeer HussaiN uNiversity
DEPARTMENT OF ELECTRICAL ENGINEERING

ylabel(particular function)
TITLE: It gives suitable title to your graph.
title(Electronics)
TEXT: It adds text on the desired position (row and column) on the graph.
text (a, b,Electrical Engineering)
text (1.3,2.1,ElectricalEngineering) Where
a and b are row and column positions
Legend: LEGEND(string1, string2 , string3 , ...) puts a legend on the current plot using the
specified strings as labels.

HOLD ON: hold on holds the current plot and all axis properties so that subsequent graphing
commands add to the existing graph. hold on sets the Next Plot property of the current figure and
axes to "add".

HOLD OFF: hold off returns to the default mode whereby PLOT commands erase the previous
plots and reset all axis properties before drawing new plots. hold off sets the Next Plot property of
the current axes to replace".

HOLD: hold by itself, toggles the hold state. hold does not affect axis auto ranging properties.

HOLD ALL: hold all holds the plot and the current color and line style so that subsequent
plotting commands will not reset the color an line style.

Programs to Explore (just observe the result):


1.linspace(1,0.01,10) and Linspace(1,10)
2. t=0:0.005:10; 3. t=0:0.01:7;
q=sin(t); p=cos(t)
plot(t,q) q=sin(p);
xlabel(sine function) plot(t,p);subplot(2,1,1)
text(0.6,1.2,Graph) plot(t,q);subplot(2,1,2)
title(Plotting of sine function) plot(t,p,t,q)

Explore:
Help, Matlab Environment, Square root function (sqrt), hold on and hold off command, exp
function and M-file. (Attach their answers in the handouts)

Lab Activity: (To be Submitted)


You are supposed to perform them on MATLAB and copy them to word along attached
printouts.

Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 6


Nazeer HussaiN uNiversity
DEPARTMENT OF ELECTRICAL ENGINEERING

1
1 1 2 3

1. If v = [2 4 7 5], and w = [1 3 8 9]; z and M 2 3 1


0
4 6 5

0
Investigate the effect of the following command and explain operation/function:
i) v(2)
ii) sum = v + w
iii) diff = v w
iv) vw = [v w]
v) vw(2: 6)
vi) v
vii) z
viii) z*v
ix) [v; w]
x) v*z
xi) [z; v]
xii) z + v
xiii) M(1,1)
xiv) M(1:2,1:2)
xv) M(:,1)
xvi) M(2,:)
xvii) M(:,end)
xviii) M(:,end-1)
xix) M(:,[1 3])
xx) M(:,:)
xxi) M(:,2)=[]
xxii) fliplr(M)
xxiii) flipud(M)
xxiv) M(:) convert matrix column vector
xxv) M=M(:) convert matrix to row vector
xxvi) M=reshape(M,2,3) convert back to matrix

2. Apply DIAG function to vector v and matrix M mentioned in exercise#1. Explain the
results

3. Generate the following row vector:


a=1:5;
Investigate the following commands and explain:
i. a(2)=6;
ii. a([ 1 3])=0
iii. a(1,2)=100

Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 7


Nazeer HussaiN uNiversity
DEPARTMENT OF ELECTRICAL ENGINEERING
iv. a(3)=[ ]
v. a([1 4])=[]

4. Write a matlab code to plot following functions( attach graphs)


Using t=1:0.01:10 (i) cos (pi*t) (ii) sin(t) (iii) cos(t) (iv) cosec(2*pi*t)
5. How can you save a program in MATLAB. What is the advantage of writing a program
in M-file and if any error occurs in M-file how can you check that error. What role
command windows plays here?

Lab Instructor: Muhammad Mohsin Department of Electrical Engineering 8

Вам также может понравиться