Prescott, Arizona Campus Department of Electrical and Computer Engineering EE 402 Control Systems Laboratory Fall Semester 2013 Lab Section 01 Thursday 1:25 – 4:05 pm King Eng. Bldg. Rm 122 Lab Instructor: Dr. Stephen Bruder Lab 01 – Pre-lab Control Systems Modeling & Analysis with MATLAB Date Experiment Performed: Thursday, September 05, 2013 Instructor’s Comments: Comment #1 Comment #2 Date Report Submitted: Monday, September 09, 2013 Group Members: Student # 1 Name & Email Student # 2 Name & Email Grade: EE 402 Control Systems Lab Fall 2013 1. BASIC MATLAB FUNCTIONALITY In the prelab we will preview some of the basic functionality of MATLAB. In particular, you can enter “>> help topic” or “>> doc topic” to get more information on a command. You can enter MATLAB commands in the command window, for an interactive session or create scripts to be saved as *.m files. To create a *.m file type “>> edit filename.m” in the command window or select File New Script from the pull-down menu. 1.a. Built in Capabilities: Some particularly useful built-in variables are: Both i and j can be used to indicate complex numbers >> 2 + sqrt(-1) + 2i +3j ans = 2.0000 + 6.0000i pi has the value 3.1415926… Building matrices/vectors >> row = [1 2 5.4 -6.6] row = 1.0000 2.0000 5.4000 -6.6000 >> column = [4;2;7;4] column = 4 2 7 4 >> size(row) ans = 1 4 >> size(column) ans = 4 1 >> x = 1:4 x= 1 2 3 4 Some of the particularly relevant built-in MATLAB functions are listed in Table 1 below. Names of Students in the Group Page 2 of 6 EE 402 Control Systems Lab Fall 2013 Table 1 Some Common MATLAB Functions Description Function abs(x) sqrt(x) round(x) fix(x) floor(x) ceil(x) sign(x) rem(x, y) exp(x) log(x) Computes the absolute value of x Computes the positive square root of x Rounds x to the nearest integer Rounds x to the nearest integer towards 0 Rounds x to the nearest integer toward - ∞ Rounds x to the nearest integer toward + ∞ Returns: -1 if x < 0, 0 if x = 0, and 1 otherwise Returns the remainder of x/y (i.e. modulus function) log10(x) Computes x Computes e , where e is the base of the natural log Computes the natural log of x to base e sin(x), cos(x), tan(x) asin(x), acos(x), atan(x) >> log10(100) = 2 Computes the sine, cosine, & tangent of the angle x, where x is given in radians Computes the arcsine, arccosine, & arctangent of x returning an angle in radians Computes the arctangent (or inverse tangent) of atan2(y, x) y x retuning an angle in radians Returns the complex conjugate of the complex number x Returns the real part of the complex number x Returns the imaginary part of the complex number x Returns the angle =atan2(imag(x), real(x)) conj(x) real(x) imag(x) angle(x) 1.b. log10 ( x) ( i.e. Example >> abs(-2.1) = 2.1000 >> sqrt(2.1) = 1.4491 >> round(2.1) = 2 >> fix(-2.9) =-2 >> floor(-2.9) = -3 >> ceil(-2.9) = -2 >> sign(2.1) = 1 >> rem(17, 4) = 1 >> exp(1) = 2.7183 >> log(exp(1)) = 1 x r e j r cos( ) j sin( ) ) >> cos(60*pi/180) = 0.5000 >> acos(0.5)*180/pi = 60.0000 >> atan2(1,-1)*180/pi =135 >> conj(2+3*j) = 2.000 - 3.000i >> real(2 + 3*j) = 2 >> imag(2 + 3*j) = 3 angle(1 + j)*180/pi = 45 Practice: 1. Compute the following using the MATLAB command window: 17 15 5 log e ln e 5 1 2 13 2 7 3 10 4 121 11 = 2. Write a MATLAB script to compute: x for tan( ) sin( ) log10 a 5 b 2 cos( ) a. / 4 , a 5 , and b 3 => x = b. / 3 , a 2 , and b 3 => x = 1.c. Working with Polynomials To build the polynomial p(s) s3 2s 5 in MATLAB enter >> p = [1 0 -2 -5]; Names of Students in the Group Page 3 of 6 EE 402 Control Systems Lab Fall 2013 Note that the coefficient of the highest power is first in the list and all coefficients (i.e., the 0s 2 term) must be entered!! To solve for the roots of the polynomial use >> r = roots(p) r= 2.0946 -1.0473 + 1.1359i -1.0473 - 1.1359i To recover the polynomial from its roots >> poly([2.0946, -1.0473 + 1.1359i, -1.0473 - 1.1359i]) ans = 1.0000 0 -2.0002 -5.0000 i.e., p(s) s3 2s 5 s 2.0946 s 1.0473 1.1359i s 1.0473 - 1.1359i 2. USING THE SYMBOLIC TOOLBOX The symbolic toolbox can be used to perform algebraic computations and render a symbolic (i.e., not only numeric) result. For example the previous polynomial A particularly useful tool is the Laplace transform (and Inverse Laplace transform) functions. For example, if we had modeled a simple system and performed the forward LT to determine the system’s transfer function as G ( s ) b1s b0 a2 s a1s a0 2 F (s) Input (see Figure 1) and now wanted to determine the Y (s) Output systems output response due to a unit step input, we Figure 1 A simple system model could use the Symbolic toolbox to compute the result. >> syms s >> a2 = 1; a1 = 5; a0 = 6; >> b1 = 2; b0 = 5; >> Gs = (b1*s + b0)/(a2*s^2+a1*s+a0); >> Ys = (1/s)*Gs; >> yt = ilaplace(Ys) yt = 5/6 - exp(-3*t)/3 - exp(-2*t)/2 ezplot(yt, [0 10]) % % % % % Values Values G(s) Y(s) = y(t) = for the den coeffs for the num coeffs U(s) G(s) InvLT(Y(s)) % Plot a symbolic function The last line of code returns the plot. Past a copy of your plot in Figure 2 (below). Names of Students in the Group Page 4 of 6 EE 402 Control Systems Lab Fall 2013 Figure 2 A plot of y (t ) vs time for t=0,…, 10 seconds 3. USING SIMULINK The previous example could also be analyzed using the Simulink graphical simulation tool. 1. Start MATLAB and enter >> simulink 2. Select File -> New -> Model 3. Select “Continuous” and a drag “Transfer Fcn” to your blank model window. 4. Select “Sources” and drag a “Step” to your model window. 5. Select “Sinks” and drag a “Scope” to your model window. 6. Connect the “Step” to the “Transfer Fcn” and “Transfer Fcn” to the “Scope” 7. Double click on the “Step” and enter a “Step Time” of 0. Names of Students in the Group Page 5 of 6 EE 402 Control Systems Lab Fall 2013 8. Double click on the “Transfer Fcn” and set the “Numerator coefficients” to [b1 b0] and “Denominator coefficients” [a2 a1 a0] 9. Save the model as “first.mdl” 10. In the command window enter >> a2 = 1; a1 = 5; a0 = 6; >> b1 = 2; b0 = 5; 11. Click on the play button () 12. Double click on the “Scope” to view the results (you might want to autoscale the plot) Past a copy of your plot in Figure 3 (below). Figure 3 A plot of y (t ) vs time from Simulink modeling QUESTION: How does Figure 2 compare with Figure 3? Names of Students in the Group Page 6 of 6