EE402_Lab_1_Prelab

advertisement
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
Download