Cleveland State University
Department of Electrical and Computer Engineering
The homework assignments are taken from John Bayís book Fundamentals
of Linear State Space Systems. Each homework should be handed in as two
(1) The written exercises, with the problems in order and the pages stapled
(2) The Matlab exercises, with the problems in order and the pages stapled.
Any deviation from the required format will result in a deduction from the homework grade.
Chapter 1 Homework - Due Monday September 9
1.2 - Hint: The forces acting on the automobile are B(yí-xí), K(y-x), and Mg. The states of the system are z1 = x, z2 = xí, and z3 = y. The inputs to the system are yí and g.
1.13 - Assign the states as x1 = I, x2 = q, and x3 = qí.
A -†† Consider a pendulum with length L. The angle
between the vertical reference and the pendulum is q (positive angle measured
counterclockwise). The mass at the end of the pendulum is m. A horizontal force
u is applied to the pendulum (positive force from left to right).
(1) Write the nonlinear differential equations for this system, where state x1 = q and x2 = qí.
(2) Linearize the equations with the assumption that q is very small to obtain a two-state linear differential equation of the form xí = Ax + Bu.
Use Matlab to plot simulation results for Example 1.2 in the text. Assign the states as x1 = i and x2 = vC. Assign the output y = vL, and input u = v. Use C = 1, L = 2, R1 = 3, R2 = 4, and final time = 10 seconds. Hand in the following:
1. Zero-state output plot due to a sine(t) input (use Matlabís lsim function)
2. Zero-input output plot due to x(0) = [0.1 0.2]í (use Matlabís initial function)
3. Total output plot due to a sine(t) input and x(0) = [0.1 0.2]í (obtained by superimposing the previous two results)
4. Total output plot due to a sine(t) input and x(0) = [0.1 0.2]í (obtained by writing your own simulation loop using rectangular integration). Increase your simulation step size until your simulation no longer converges. At what value of simulation step size does your simulation stop converging?
5. Matlab program listing
Hint: You can use Chen220.m as a template for this assignment.
Chapter 2 Homework - Due Monday September 23
2.1, 2.3, 2.5, 2.8, 2.10, 2.14, 2.16, 2.22
Note: In 2.10, you can consider ďdegeneracyĒ to mean the same thing as ďnullity.Ē
1.††††† Use Matlabís rank command to verify your answers for 2.10.
2.††††† Use Matlabís det command to verify your answers for 2.10(a) and (b).
3.††††† Use Matlabís orth command to solve 2.14. (Note that this will probably give you a different answer than you obtain manually.) Use Matlabís dot command and norm command to verify the orthonormality of the vectors that resulted from the orth command. What is the two-norm of the matrix that results from augmenting the orth results into a 4 x 3 matrix?
Chapter 3 Homework - Due Monday September 30
3.2 - Hint: Start by calculating d(AA-1) / dt.
3.3 - Prove your answer (that is, donít just answer yes or no).
3.4, 3.6, 3.13, 3.17, 3.18
3.19 - For your particular solution, choose x1 = 0. For your homogenous solution, choose x3 = 1.
3.17 - Use Matlabís backslash operator (or mldivide function) to verify your hand-calculated answer. Also, use Matlabís pinv command to verify your answer.
3.19 -† Use Matlabís null command to verify your hand-calculated answer. (Note that Matlabís answer will not be the same as your answer; it will be a multiple of your answer.)
3.21 - Hand in your Matlab program and a plot of g1[k] and g2[k], where k is the number of data points that have been processed. Note that your Matlab program should not have any matrix inversions except possibly a 2 x 2 inversion at the beginning of the RLS process.
Chapter 4 Homework due Monday October 7
4.1 -††† No need to go through a lot of calculations. Just think about the definition and physical meaning of eigendata.
4.5 -††† Do these problems by hand (not using Matlab). However, you can use Matlabs roots function to find the roots of polynomials if you need to. Show your work.
4.14 -† Use L = 1/2, R2 = 2, C = 1, and R1 = 1. First assign the states as x1 = i and x2 = vC. The input is v. Next define a new state z = V-1x, where V is the matrix consisting of the orthonormalized eigenvectors of the A matrix. Give the state equation using this new state.
1.†† Use Matlabís eig function to compute the eigendata and verify that your answers for Problem 4.5 are correct. The eigenvalues that Matlab gives you should be the same as those you computed by hand. However, the eigenvectors should be different.
2.†† Use Matlabís svd function to find the SVD of the matrices in Problem 4.5. Verify that A = USVT. Use Matlabís cond function to find the condition number of the matrices. Verify that the condition number is equal to smax / smin.
Chapter 5 Homework due Wednesday October 16
5.6 -†††††††††† Use both the Cayley-Hamilton method and the Jordan form method. Itís ok to use Matlab to get the eigendata.
5.9(a),(c) -† Use both the Cayley-Hamilton method and the Jordan form method. Itís ok to use Matlab to get the eigendata.
1.†† Use Matlabís expm function to verify your answer for Problem 5.6.
2.†† Use Matlabís expm1, expm2, and expm3 functions to verify your answers for Problem 5.9(a) when t = 1. Why doesnít expm3 work in this situation?
Chapter 6 Homework due Wednesday October 30
6.1 - Give a closed-form solution for x(t), assuming that x(0) = 0.
6.9 - Assume that x(0) = 0.
6.12 - Give a closed-form solution for Ad and Bd.
1.††††† Use Matlabís lsim function to simulate the system of Problem 6.1. Plot the two states, and also plot the two states that you obtained by hand. Hand in your Matlab code and the plots.
2.††††† Use Matlabís c2d function to verify your answer to Problem 6.12.
Chapter 7 Homework due Wednesday November 13
Problem 7.3(a), 7.4, 7.10 (assume that y = x), 7.13, 7.14 (assume that this is a continuous time system), 7.17
(A) Simulate the system in Problem 7.13 with L = C = 1 and R = • . To run the simulation, create a state space model in Matlab (e.g., using the tf2ss or ss function), and then use the lsim function to plot the zero-state output of the system for the following two cases:
(1) u(t) = 1 - What can you conclude from the output plot about the BIBO stability of the system?
(2) u(t) = sin(t) - What can you conclude from the output plot about the BIBO stability of the system?
Hand in your Matlab program, your plots, and your conclusion about BIBO stability.
(B) Simulate the system in Problem 7.17(a). To run the simulation, create a state space model in Matlab, and then use the initial †function to plot the zero-input state response of the system. Note: do not plot the output, instead plot the states. Do this for the following two cases:
(1) x(0) = [0 ; 1]í - What can you conclude from the output plot about the asymptotic stability of the system?
(2) x(0) = [1 ; 0]í - What can you conclude from the output plot about the asymptotic stability of the system?
Hand in your Matlab program, your plots, and your conclusion about asymptotic stability.
Chapter 8 Homework due Monday November 25
Problems 8.1 and 8.8
Problem 8.A - Consider the system described in Problem 8.1(d). Compute eAt. Then compute the controllability Grammian (as a function of t). (To compute the controllability Grammian you will have to integrate terms like teat and t2eat. You can find these integrals in a math handbook or an integral table on the internet.)
Problem 8.B - Consider the system described in Problem 8.1(a). Suppose it is known that u0 = 1, u1 = -1, y0 = 2, and y1 = -2. Compute x0. Using your computed x0, begin at k = 0 and use the system equations to compute y0, x1, and y1.
Problem 8.1 - Use Matlabís ctrb, obsv, and rank functions to verify your hand-calculated answers to Problem 8.1
Problem 8.A - Use the controllability Grammian that you found in Written Exercise 8.A above to compute the control that drives the initial state [1; -2] to the final state [-2; 1] in 10 seconds. (Note that the controllability Grammian is equal to 0 at t = 0, so the control at t = 0 is undefined). Simulate the system with your computed control. Hand in your Matlab program, a plot of the control, and a plot of the two states.
Chapter 9 Homework due Monday
Problem 9.A - Consider the transfer function shown in Problem 9.1 in the text. Use the methods that we discussed in class to find the controllable form realization and the observable form realization.
Problem 9.B - Consider the system xí = Ax + Bu and y = Cx, where A = [-1 4 ; 4 -1], B = [1 ; 1], and C = [1 1]. Find the controllable decomposition of this system. What controllable first order system has the same transfer function as this system?
Problem 9.C - Consider the system xí = Ax + Bu
and y = Cx, where A = [0 1; -1 2], B = [1 ;
0], and C = [1 -1]. Find the observable decomposition of this system.
What observable first order system has the same transfer function as this
Problem 9.A - Use Matlabís tf2ss, ss, and canon functions to obtain the observable form realization of the system given in Written Exercise 9.A above. Notice that your written answer will differ from your Matlab answer because there is more than one possible observable form realization.
Problem 9.B - Use Matlabís ctrbf function to find the controllable decomposition of the system given in Written Exercise 9.B above. Notice that your written answer will differ from your Matlab answer. According to Matlab, what controllable first order system has the same transfer function as the original system?
Problem 9.C - Use Matlabís obsvf function to find the observable decomposition of the system given in Written Exercise 9.C above. Notice that your written answer will differ from your Matlab answer. According to Matlab, what observable first order system has the same transfer function as the original system?
Chapter 10 Homework due
Wednesday December 4
Problem 10.4(a) and (b)
Problem 10.A - Use Matlabís place and acker functions to verify your answer to Written Exercise 10.11.
Problem 10.B - Simulate the nonlinear inverted pendulum system that we discussed in Chapter 1 with the control u = -Kx where the state feedback matrix K is determined using Matlabís place function as applied to the linearized system. You can use Ex03.m (available on the course web site) as a template for the simulation. Use the system parameters (cart mass, pendulum length, etc.) given in Ex03.m for the simulation. Use the initial conditions y(0) = 0.1 and theta(0) = 0.1 rad. Run the simulation for two cases:
(1) Closed loop eigenvalues at -1.5+0.5j, -1.5-0.5j, -1+j, -1-j
(2) Closed loop eigenvalues at double the values given in part (1)
Run the simulations for 10 seconds. Hand in your Matlab program. Hand in plots of the cart position, the pendulum angle, and the control as a function of time for both simulations. How does the change in closed-loop eigenvalues between case (1) and case (2) affect the system response and the control magnitude? Why?
Last Revised: November 4, 2002