You are on page 1of 8

MEHRAN UNIVERSITY OF ENGINEERING AND TECHNOLOGY JAMSHORO Batch 10ES (3rd year 1st Term

)

PRACTICAL HANDOUTS FEEDBACK CONTROL SYSTEMS Lab-01

Introduction to MATLAB Environment and Basics

Name : ------------------------------------------------------------Roll No:-----------------------------------------------------------Date :--------------------------------------------------------------Score:---------------------------------------------------------------

Signature:-----------------------

It is a High level programming language. C=A-B . Digital Signal Processing. can find the desired Transfer Function .. Matlab interprets commands like Basic does./B………. The aim of Matlab is to enable us to solve complex numerical problems.3. It is an interactive. Visit www. It is a powerful programming language which is used for symbolic and numerical computations effectively. multiplication. C=A . Check out various possibilities for multiple inputs. A=[1234] B =[ 0 1 3 4 ]. Thus.4] Both will give same results . Basic Commands used for vector Analysis and Other functions: Various command and used in MATLAB for vector analysis including: • Entering a Vector: Any vector can be entered in the command window containing certain values.com for Assistance.2. division etc B=A+A . B=A’ C= [1.Lab Outline: • • • • • To be familiar with the Basics of MATLAB Use of MATLAB in Control Systems Basic Commands used for vector Analysis Basic Plotting techniques Examples Introduction to MATLAB: MATLAB stands for Matrix Laboratory. it will multiply corresponding elements of A with A D=A . develop your own block diagrams etc. Use of MATLAB in Control Engineering: It’s a very powerful tool used in Control System Designing. Simulink library gives a huge range of defined blocks for creating applications without writing codes. matrix-based computer program for scientific and engineering numeric computation and visualization.*A……. • Operations performed on vectors: Various operations can be performed on the command window including Addition. Control Engineering and applications. it will divide corresponding elements of A with A (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. instead of compiling source code like C and FORTRAN require. User can develop its own applications. without writing programs in traditional languages like C and FORTRAN.mathsworks. MATLAB will be used extensively in the labs of Signals and Systems. D=A*B • Point Operator: Point operator is used for element by element calculations.. can work in frequency and time domain. Simulate and analyse the result.

• INV Matrix inverse: INV(X) is the inverse of the square matrix X.inverse of cosine csc(x). cosine.1). tangent.hyperbolic of sine Zeros and Ones: Zeros…..…….5) Logspace: It generates again certain vectors which are logarithmically spaced of 50 logarithmically equally spaced points between decades 10^X1 and 10^X2. EYE(M. EYE(N) is the N-by-N identity matrix. Logspace(x1. Clear and Clc command: Clear command clear all the variables which are used from the memory location preventing any unpredictable result. Linspace(1.N]) returns an M-by-N matrix.• • • • • • • • • • • • • • Use of Semicolon and Parenthesis: Semicolon is used to terminate the corresponding line operation and shift the cursor to the next line without executing it while ( ) are used to execute ay function you specified.. 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 2].Linear spaced generates a row vector of 100 linearly equally spaced points between X1 and X2..3) RANDPERM(N) : A random permutation of the integers 1 to n can be generated using the RANDPERM(N) function .N) or EYE([M. Clc command just clear the screen or the command window..……cosecant of 20 sinh(x)….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..N) or RAND([M. 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..will yield 2 by 2 matrix containing all elements one Zeros…. logarithmic etc x = 20.  E. cos(x)……Cosine of 20 asin(x)….(Matrix should be square Matrix) Inv(A) Linspace:.N]) is an M-by-N matrix with 1's on the diagonal and zeros elsewhere. Trigonometric functions: You have variety of trigonometric functions on MATLAB incuding sine.  RAND(M..inverse of sine sin(x)…… sine of 20 acos(x)…. will yield 1 by 1 matrix containing all elements ones ones(2).g rand(1. Who…… press enter Inverse of a Matrix: Inverse can be calculated using inv command A=[1 3. will yield 1 by 1 matrix containing all elements zeros Ones…. inverse and hyperbolic of these function.

1. the file myvar.t.function2) Plot(t.mat.y1. subplot(2. type type the following command on MATLAB command prompt  save myvar M v Here myvar is name of the MATLAB file. (Note: Use plot command first) subplot(2.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.  To restore the variables.t.mat would be saved in the current directory.axis2.function1.’*’) • . Data files in MATLAB have extension .1.1) 2 shows number of graphs.2) • Multiple functions on same plot: to plot 2 or more function simultaneously on one graph use the following code Plot (axis1.y2) Plot(t. b=5  a+(b-a)*rand(1. 1 shows one is plotted and last one shows out of 2 functions 1 st function is plotted first.3) Saving arrays to a file:  To save arrays for example M v.’o’. type the following command on MATLAB command prompt load myvar • To restore any specific variable(s) from the saved file. Plot(t.•  randperm(5) To create a random number between interval a and b.y1. type the following command on MATLAB command prompt load myvar M Basic Plotting Commands and Codes: Continous Time Plots: • Plot command: PLOT command is used to plot continuous tome signal defined in time domain as shown in figure. we can use following command  a=1.y2.

just points in form of * are plotted Plot(t.’*’)… Graph along function and distinct points are plotted • • Bar charts: Bar(x) Discrete Plots: Use • Stem Command: STEM command to plot discrete time signals. 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’) . Plot(t.’*’).Plotting with symbols: To plot certain distinct values on the continuous graph use the following code.. Define n vector rather t.y.

plot(t.1.1) plot(t.1.01:7.q) Explore: Help.0. p=cos(t) q=sin(p).’Electronics Engineering’) Where a and b are row and column positions Legend: LEGEND(‘string1’.6. ‘string2’ . Square root function (sqrt).p). text (a. plot(t. (Attach their answers in the handouts) . Matlab Environment. q=sin(3).subplot(2.1. hold on sets the Next Plot property of the current figure and axes to "add". t=0:0. exp function and M-file.t=0:0. hold on and hold off command. . HOLD ON: hold on holds the current plot and all axis properties so that subsequent graphing commands add to the existing graph.t.2.3. b.q).’ string3’ .2) plot(t..’Graph’) title(‘Plotting of sine function’) 3.linspace(1.01..subplot(2. 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.005:10.10) 2. hold does not affect axis auto ranging properties. Programs to Explore (just observe the result): 1.10) and Linspace(1.p.q) xlabel(‘sine function) text(0. toggles the hold state. HOLD: hold by itself.2.1.) puts a legend on the current plot using the specified strings as labels. hold off sets the Next Plot property of the current axes to “replace". title(‘Electronics’) TEXT: It adds text on the desired position (row and column) on the graph.’Electronics Engineering’) text (1. 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.Y-LABEL Command: It gives x-axis appropriate label ylabel(‘particular function’) TITLE: It gives suitable title to your graph.

Apply DIAG function to vector v and matrix M mentioned in exercise#1. w] x) v*z xi) [z.1) xvi) M(2.2. Investigate the following commands and explain: i.[1 3]) xx) M(:. a([1 4])=[] .1) xiv) M(1:2. a([ 1 3])=0 iii.end-1) xix) M(:. z =    0 4    0 2 3 6 3 1  5  1.3) convert back to matrix 2.:) xxi) M(:. a(1. and w = [1 3 8 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. a(3)=[ ] v.:) xvii) M(:. v’] xii) z + v’ xiii) M(1.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.1:2) xv) M(:.2)=100 iv.Lab Activity: (To be Submitted) You are supposed to perform them on MATLAB and copy them to word along attached printouts. ii.end) xviii) M(:. Generate the following row vector: a=1:5. 1 1 1   and M = 2 9]. If v = [2 4 7 5]. Explain the results 3. a(2)=6.

ylabel on each graph.01:10 (i) cos (pi*t) (ii) sin(t) (iii) cos(t) (iv) cosec(2*pi*t) 5. Repeat problem 4 using subplot command for plotting the following functions. Use text command to plot sine(x*y) where x=your roll number*2.4.y1. What role command windows plays here? . 6.2 8.. How can you save a program in MATLAB.10) . Write a matlab code to plot following functions( attach graphs) Using t=1:0.2 and 1. xlabel.10) and logspace(1. Differentiate Linspace(1.) (NOTE: Write your roll number . 7.y2…. Repeat problem 4 using the command plot(t.t. 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. 9. y=cos(your roll number) and it should contain distinct points ‘*’ in the code with a suitable text (Your Name) at position 0.