MAT 275 Laboratory 7 Laplace Transform and the Symbolic Math Toolbox

Similar documents
ECE 3793 Matlab Project 3

AMS 27L LAB #6 Winter 2009

EE -213 BASIC CIRCUIT ANALYSIS LAB MANUAL

ECE 3793 Matlab Project 3 Solution

Section 6.5 Impulse Functions

Section 6.4 DEs with Discontinuous Forcing Functions

Math 221 Topics since the second exam

These videos and handouts are supplemental documents of paper X. Li, Z. Huang. An Inverted Classroom Approach to Educate MATLAB in Chemical Process

EE Experiment 11 The Laplace Transform and Control System Characteristics

Ordinary Differential Equations

MAT 275 Laboratory 4 MATLAB solvers for First-Order IVP

MAT 275 Laboratory 4 MATLAB solvers for First-Order IVP

Representing Polynomials

MAT 275 Laboratory 4 MATLAB solvers for First-Order IVP

Control System Engineering

Lecture Notes for Math 251: ODE and PDE. Lecture 22: 6.5 Dirac Delta and Laplace Transforms

e st f (t) dt = e st tf(t) dt = L {t f(t)} s

Computer Problems for Methods of Solving Ordinary Differential Equations

27. The pole diagram and the Laplace transform

MATLAB BASICS. Instructor: Prof. Shahrouk Ahmadi. TA: Kartik Bulusu

Name: Solutions Final Exam

Math 256: Applied Differential Equations: Final Review

INTRODUCTION TO TRANSFER FUNCTIONS

EE -213 BASIC CIRCUIT ANALYSIS LAB MANUAL

Exam 2 Study Guide: MATH 2080: Summer I 2016

Math 3313: Differential Equations Laplace transforms

This is the text of the original description initially included in the package Advanced Laplace v.1.4

Practice Problems For Test 3

Differential Equations, Math 315 Midterm 2 Solutions

Solutions to Homework 3

Practice Problems For Test 3

Math 266 Midterm Exam 2

Course roadmap. ME451: Control Systems. Example of Laplace transform. Lecture 2 Laplace transform. Laplace transform

37. f(t) sin 2t cos 2t 38. f(t) cos 2 t. 39. f(t) sin(4t 5) 40.

Time Response Analysis (Part II)

Math Shifting theorems

CHBE320 LECTURE V LAPLACE TRANSFORM AND TRANSFER FUNCTION. Professor Dae Ryook Yang

The Laplace transform

MAE143A Signals & Systems - Homework 5, Winter 2013 due by the end of class Tuesday February 12, 2013.

Course Background. Loosely speaking, control is the process of getting something to do what you want it to do (or not do, as the case may be).

Math 307 Lecture 19. Laplace Transforms of Discontinuous Functions. W.R. Casper. Department of Mathematics University of Washington.

2 Solving Ordinary Differential Equations Using MATLAB

Time Response of Systems

Selected Solutions: 3.5 (Undetermined Coefficients)

Appendix 3B MATLAB Functions for Modeling and Time-domain analysis

f(t)e st dt. (4.1) Note that the integral defining the Laplace transform converges for s s 0 provided f(t) Ke s 0t for some constant K.

Final Exam Sample Problems, Math 246, Spring 2018

Basic Procedures for Common Problems

ECE 203 LAB 1 MATLAB CONTROLS AND SIMULINK

MATH 251 Examination II April 7, 2014 FORM A. Name: Student Number: Section:

Numeric Matlab for Laplace Transforms

Math 308 Exam II Practice Problems

Lab #2 - Two Degrees-of-Freedom Oscillator

(f g)(t) = Example 4.5.1: Find f g the convolution of the functions f(t) = e t and g(t) = sin(t). Solution: The definition of convolution is,

2 Background: Fourier Series Analysis and Synthesis

EE 4314 Lab 1 Handout Control Systems Simulation with MATLAB and SIMULINK Spring Lab Information

MATHEMATICAL MODELING OF CONTROL SYSTEMS

MATH 251 Examination II July 28, Name: Student Number: Section:

20. The pole diagram and the Laplace transform

MathQuest: Differential Equations

ES205 Analysis and Design of Engineering Systems: Lab 1: An Introductory Tutorial: Getting Started with SIMULINK

Name: Solutions Exam 3

CHEE 319 Tutorial 3 Solutions. 1. Using partial fraction expansions, find the causal function f whose Laplace transform. F (s) F (s) = C 1 s + C 2

20.6. Transfer Functions. Introduction. Prerequisites. Learning Outcomes

Math 216 Second Midterm 20 March, 2017

Solutions for homework 5

Laplace Transforms Chapter 3

ORDINARY DIFFERENTIAL EQUATIONS

Lab 1: Dynamic Simulation Using Simulink and Matlab

ME scope Application Note 28

Problem Weight Score Total 100

= e t sin 2t. s 2 2s + 5 (s 1) Solution: Using the derivative of LT formula we have

Lecture 7 Symbolic Computations

Graded and supplementary homework, Math 2584, Section 4, Fall 2017

Newton s Cooling Model in Matlab and the Cooling Project!

Chapter 0 of Calculus ++, Differential calculus with several variables

Math 216 Second Midterm 16 November, 2017

18.03 Class 23, Apr 2. Laplace Transform: Second order equations; completing the square; t-shift; step and delta signals. Rules:

Solution to Homework Assignment 1

SIGNALS AND SYSTEMS LABORATORY 4: Polynomials, Laplace Transforms and Analog Filters in MATLAB

Finding Transfer Functions of Circuits Using State-Space

Experiment 2: Introduction to MATLAB II

Module 39: Periodic Forcing Functions

A MATLAB- and Simulink-based Signals and Systems Laboratory

Understand the existence and uniqueness theorems and what they tell you about solutions to initial value problems.

Laboratory handout 5 Mode shapes and resonance

Ex. 1. Find the general solution for each of the following differential equations:

FINAL EXAM SOLUTIONS, MATH 123

5.1 Second order linear differential equations, and vector space theory connections.

University of Alberta ENGM 541: Modeling and Simulation of Engineering Systems Laboratory #7. M.G. Lipsett & M. Mashkournia 2011

Section Mass Spring Systems

Math 215/255 Final Exam (Dec 2005)

Lesson 11: Mass-Spring, Resonance and ode45

Unit 2: Modeling in the Frequency Domain Part 2: The Laplace Transform. The Laplace Transform. The need for Laplace

New Mexico Tech Hyd 510

Math 310 Introduction to Ordinary Differential Equations Final Examination August 9, Instructor: John Stockie

APPM 2360: Midterm 3 July 12, 2013.

Ch 6.2: Solution of Initial Value Problems

Section 1.2 More on finite limits

we get y 2 5y = x + e x + C: From the initial condition y(0) = 1, we get 1 5 = 0+1+C; so that C = 5. Completing the square to solve y 2 5y = x + e x 5

Transcription:

Laplace Transform and the Symbolic Math Toolbox 1 MAT 275 Laboratory 7 Laplace Transform and the Symbolic Math Toolbox In this laboratory session we will learn how to 1. Use the Symbolic Math Toolbox 2. Calculate the Laplace and inverse Laplace The Symbolic Math Toolbox The Symbolic Math Toolbox allows MATLAB to perform symbolic calculations. We will start our overview of this Toolbox with two simple and useful tools that come with it. 1. A quick way to make plots: ezplot. Here is the simplest way to make simple plots. The command ezplot sin(t) makes a plot of the sin function on the default interval ( 2π, 2π). More elaborately you can also type ezplot( sin(t) ); The command ezplot( t^2/exp(t),[-1,5]) plots the function t 2 /e t over the interval ( 1,5). 2. A fun tool: funtool. Type funtool and you will be operating a two-screen plotting calculator that does symbolic calculations. Use this when you need to do some quick checking about a function, its derivative, integral, inverse, etc. the help key explains what the other keys do. Numeric vs Symbolic computations What is the difference between numeric (plain MATLAB) and symbolic (the Symbolic Math Toolbox) computation? Let us say, you wanted to know the derivative of a function, t 2 sin(3t 1/4 ). The definition of derivative gives a crude way to numerically calculate the derivative of the function as f (f(x+h) f(x))/h) if h is small. The MATLAB commands below calculate this approximation of the derivative in the interval (0,2π), at a set of points spaced t = h = 0.1 apart. h =.1; t = 0:h:2*pi; f = t.^2.*sin(3*t.^(1/4)); fprime = diff(f)/h; plot(t(1:end-1), fprime) % delta t for the difference % the region of interest for t % the function at all t values % numerical approximation of derivative % Note: diff(f) has 1 less element than f % plot the derivative The derivative of the function is represented by the two lists of numbers t(1:end-1) and fprime. The derivative at t(7) is fprime(7). Compare this with the Symbolic Tool calculation of the derivative of the same function. Here is the command and response: >> symb_deriv=diff( t^2*sin(3*t^(1/4)) ) symb_deriv = 2*t*sin(3*t^(1/4)) + (3*t^(5/4)*cos(3*t^(1/4)))/4 The Symbolic Toolbox gives a formula for the derivative. If you are patient you can verify by hand that indeed The command d ( ) t 2 sin(3t 1/4 ) = 2tsin(2 4 t)+(3/4)t 5/4 cos(3 4 t). dt

2 MATLAB sessions: Laboratory 7 ezplot(symb_deriv,[0,2*pi]) gives about the same curve as the previous calculation. If you type int(symb_deriv) you will see a very complicated and long expression. However, if you type simplify(int(symb_deriv)) you will get back t^2.*sin(3*t^(1/4)) as expected by the fundamental theorem of calculus. Notice that diff is two different commands. One is the numerical command (dealing with the difference between consecutive terms in a list) and one is the Symbolic Toolbox command (symbolically calculating the derivative). Which one of the commands MATLAB uses depends on whether you have typed something in the correct syntax for one or the other. Getting help with the Symbolic Toolbox If you know the name of the command you want help with, say diff, you can see helpful explanations in any of three ways: 1. type help diff at the command line. You will see a description of the numerical MATLAB command diff together with this helpful clue at the end: Overloaded methods: char/diff sym/diff fints/diff iddata/diff umat/diff ndlft/diff Overloaded means the command diff has meaning outside of plain MATLAB. If you type help sym/diff if you will get help with the Symbolic Toolbox command also called diff 2. Type help sym/diff to get help on the symbolic command diff. 3. Type helpdesk at the MATLAB prompt. Then click on the Symbolic Math Toolbox and select Functions By Category or Alphabetical List. Then click on any one of the commands for more information. To see an organized list of the symbolic commands with a very short description you can do either of two things: 1. type help symbolic on the command line. One line in this list is, for example, diff - Differentiate 2. Click on the Help button at the top of the command window. Then click on Function Browser and select Symbolic Math Toolbox. Using the Symbolic Math Toolbox Lets see some other things the Symbolic Math Toolbox can do, besides diff, int, ezplot, simplify and funtool. Basic manipulations: Expand a polynomial, make it look nice, solve it, and check the solution. syms x a % tell matlab that x and a are symbols f = (x-1)*(x-a)*(x+pi)*(x+2)*(x+3) % define f pretty(f) % print f in a more readable form

Laplace Transform and the Symbolic Math Toolbox 3 g = expand(f) % rewrite f, multiply everything out h = collect(g) % rewrite again by collecting terms soln = solve(h,x) % find all solutions of h = 0 check = subs(f,x,soln(5)) % check, say the fifth solution Comments: The syms is used to declare symbolic variables. Since x is a symbol, f is automatically treated as a symbolic expression. solve is a powerful command that tries all kinds of things to find a solution. Here solve manages to find all five roots of a fifth order polynomial (something that cannot always be done, by the way). subsis an often used command if you do math online. Here every occurrence of x in the expression of f is replaced with the fifth supposed solution. The result of this line of calculation is, predictably, 0. The subs command can be used with functions of more than one variable. For instance, subs(x*y^2,y,a) substitutes y = a into xy 2 to get xa 2 (here we assume x,y and a are symbolic variables). We can also substitute two things at once: subs(x*y^2,{x,y},{2,3}) evaluates xy 2 for x = 2 and y = 3. Laplace Transforms with MATLAB The Laplace transform of a function f can be obtained using the MATLAB Symbolic Toolbox. The following example shows how to obtain the Laplace transform of f(t) = sin(t): >> syms t >> laplace(sin(t)) ans = 1/(s^2 + 1) >> pretty(ans) 1 ------ 2 s + 1 To make the expression more readable, one can use the command simplify. Here is an example for the function f(t) = 1.25+3.5te 2t +1.25e 2t >> syms t >> f=-1.25+3.5*t*exp(-2*t)+1.25*exp(-2*t); >> F=laplace(f) F = 5/(4*(s + 2)) + 7/(2*(s + 2)^2) - 5/(4*s) >> simplify(f) ans = (s - 5)/(s*(s + 2)^2) >> pretty(ans) s - 5 ---------- 2 s (s + 2)

4 MATLAB sessions: Laboratory 7 Inverse Laplace Transform The command for the inverse laplace transform is ilaplace. Lets calculate the inverse laplace of the previous function F(s) = s 5 s(s+2) 2. >> syms s t >> F=(s-5)/(s*(s+2)^2); >> ilaplace(f) ans = 5/(4*exp(2*t)) + (7*t)/(2*exp(2*t)) - 5/4 >> pretty(ans) 5 7 t 5 ---------- + ---------- - - 4 exp(2 t) 2 exp(2 t) 4 Partial Fractions in MATLAB The residue function converts a quotient of polynomials to pole-residue representation, and back again to polynomials. [r,p,k]=residue(b,a) finds the residues, poles and direct term of a partial fraction expansion of the ratio of two polynomials B(s)/A(s). The quotient of polynomials B(s) and A(s) is represented as B(s) A(s) = r 1 s p 1 + r 2 s p 2 +...+ r n s p n +k s where r is a column vector of residues, p is a column vector of pole locations, and k is a row vector of direct terms. Consider for instance the following function: Y(s) = 5s 1 s 3 3s 2 The partial fraction decomposition of Y(s) can be found using the following commands: B = [5,-1]; % coefficients of the numerator in decreasing order A = [1,0,-3,-2]; % coefficients of the denominator in decreasing order [r, p, k] = residue(b,a) r = 1.0000-1.0000 2.0000 p = 2.0000-1.0000-1.0000 k = [] Thus the partial fraction decomposition of Y(s) is 1 s 2 + 1 s+1 + 2 (s+1) 2.

Laplace Transform and the Symbolic Math Toolbox 5 The last term in the partial fraction decomposition follows from the fact that the pole 1.0000 is repeated. The function residue can be used also to convert back a fraction expansion representation to a polynomial form. For example, suppose we are given the following function:. Y(s) = 0.25 s + 2.5 s+2 1.75 s+4 p = [0;-2;-4]; % define the column vector of the poles r = [0.25; 2.5; -1.75]; % define the column of the residuals k = []; % define an empty direct term [B,A] = residue(r,p,k) B = 1 8 2 A = 1 6 8 0 We can use the vectors A and B to recover the original function using the MATLAB command tf (transfer function): >> tf(b,a) Transfer function: s^2 + 8 s + 2 ----------------- s^3 + 6 s^2 + 8 s Solving ODEs using the Laplace and Inverse Laplace Transform EXAMPLE A mass-spring system is modeled by the equation where g(t) = { 8t 0 t 5 40 t > 5 y +4y = g(t), y(0) = y (0) = 0 (a) Use MATLAB to find the laplace transform of the forcing term g(t) and plot the forcing term. Note: The unit step function is denoted in MATLAb by heaviside. Answer: We have g(t) = 8t+u(t 5)(40 8t). We can plot g(t) and find its Laplace transform using the following MATLAB commands. The graph of g(t) is shown in Fig. L7a. syms s t g = 8*t + heaviside(t-5)*(40-8*t); ezplot(g,[0,10]) G= laplace(g) G = 8/s^2-8/(s^2*exp(5*s)) Thus the Laplace of g(t) is G(s) = (1 e 5s ) 8 s 2.

6 MATLAB sessions: Laboratory 7 8 t heaviside(t 5) (8 t 40) 40 35 30 25 20 15 10 5 0 0 2 4 6 8 10 t Figure L7a: Graph of g(t) (b) Applying the Laplace transform to both sides of the Differential Equation and substituting the Initial Conditions gives Y(s) = (1 e 5s 8 ) s 2 (s 2 +4) where Y(s) is the Laplace transform of the solution y(t). Let. F = 8 s 2 (s 2 +4) (i) Use the residue command to find the partial fraction decomposition of F and use this partial fraction decomposition to find (by hand) the inverse Laplace transform of Y(s). 8 Answer: Note that F = s 4 +4s 2. >> num=[8]; >> den=[1,0,4,0,0]; >> [r,p,k]=residue(num,den) r = 0 + 0.5000i 0-0.5000i 0 2.0000 p = 0 + 2.0000i 0-2.0000i 0 0 k = [] Thus F = 0.5i s 2i 0.5i s+2i + 2 s 2 and combining the complex terms we obtain F = 2 s 2 +4 + 2 s 2. From the Table we have that the inverse Laplace transform of F is f(t) = 2t sin(2t)

Laplace Transform and the Symbolic Math Toolbox 7 and the inverse laplace of Y(s) is. y(t) = f(t) u(t 5)f(t 5) (ii) Enter diff(int(f)). What is the output? Note that MATLAB computes the integral of rational functions by computing the partial fraction decomposition first. Answer: >> F= 8/(s^2*(s^2+4)); >> diff(int(f)) ans = 2/s^2-2/(s^2*(4/s^2 + 1)) >> pretty(ans) 2 2 -- - ------------- 2 2 / 4 \ s s -- + 1 2 \ s / Simplifying the second term of the answer gives 2 s 2 2 which is the partial fraction 4+s2 decomposition found in part (i). (iii) Find the inverse Laplace transform of Y(s) using the ilaplace command. Answer: >> Y = (1-exp(-5*s))*8/(s^2*(s^2+4)); >> y=ilaplace(y) y = 2*t - sin(2*t) + 8*heaviside(t - 5)*(sin(2*t - 10)/8 - t/4 + 5/4) We can see that the solution found using ilaplace is the same as the one we found in part (i). (c) Write the solution y(t) you found in part (b) as a piecewise function. This solution is an oscillation around a slanted line for 0 t 5 and around a horizontal line for t > 5. Determine this slanted and horizontal lines and plot them together with the solution. Compare the graph of the solution to the graph of the forcing term from part (a). Does the graph makes sense in the mass-spring context? Answer: The solution y(t) can be written as a piecewise function as follows; { 2t sin(2t) 0 t 5 y(t) = 10 sin(2t)+sin(2(t 5)) t > 5 Thus y(t) is an oscillation around the line y = 2t for 0 t 5 and around the line y = 10 for t > 5. We can combine the two lines in the single function h(t) = 2t + u(t 5)(10 2t). We will plot the solution y(t) in the default color for ezplot and the function h(t) with a dashed red line. The output is shown in Fig. L7b. p1 = ezplot(y,[0,10]); hold on h = 2*t + heaviside(t-5)*(10-2*t);

8 MATLAB sessions: Laboratory 7 p2 = ezplot(h,[0,10]); set(p2, Color, red, LineStyle, -- ) axis([0,10,0,12]) title( ) legend( solution, lines y= 2t and y = 40,2) It is much easier to generate overlay plots with different line style using the plot command. The following commands produce the same picture as the commands above. t = 0:0.1:10; y = eval(vectorize(y)); % write a formula for y that works with arrays and % evaluate it h = 2.*t + heaviside(t-5).*(10-2*t); % write a formula for h that works with arrays plot(t,y, k-,t,h, r-- ) legend( solution, lines y= 2t and y = 40,2) Note the vectorize and eval commands. The vectorize command takes a formula that is good for scalars and puts dots in the right places. The eval command takes text that looks like MATLAB command and executes the command. 14 12 solution lines y= 2t and y = 40 10 8 6 4 2 0 0 2 4 6 8 10 t Figure L7b: Graph of the solution to y +4y = g(t), y(0) = y (0) = 0 Comparing the the two graphs L7a and L7b from parts (a) and (c), we can see that the graph of the solution makes perfect sense in the mass spring context. The linearly increasing forcing term for the first 5 seconds causes the equilibrium to shift linearly. Once the forcing term stabilizes into a constant value, so does the equilibrium and since the system is undamped, the mass keeps oscillating around the new equilibrium with constant amplitude. EXERCISES Instructions: For your lab write-up follow the instructions of LAB 1. 1. Consider the transfer function Y(s) = 4s2 +4s+4 s 2 (s 2 +3s+2) (a) Use the MATLAB function residue to find the residues and poles of Y(s). Use the output to find the partial fraction decomposition of Y(s). (b) Use the Table of Laplace transforms and your answer to (a) to find the inverse Laplace transform of Y(s). Confirm your result with the ilaplace command.

Laplace Transform and the Symbolic Math Toolbox 9 2. Consider the IVP y +2y +5y = u(t 2) u(t 6), y(0) = y (0) = 0. (a) Plot the forcing term u(t 2) u(t 6) in the interval 0 t 15. You can use ezplot or plot. (b) Applying the Laplace Transform to both sides of the Differential Equation and substituting the Initial Conditions yields Y(s) = (e 2s e 6s 1 ) s(s 2 +2s+5) where Y(s) is the Laplace transform of the solution y(t). Find the inverse Laplace of Y(s) using the ilaplace command. (c) Plot the graph of the solution y(t) for 0 t 15, and compare with the graph of the forcing term from part (a). Does the graph make sense in the mass-spring context? Make sure you comment on both the short term and long term behaviors of the solution 3. A mass m = 1 is attached to a spring with constant k = 5 and damping constant c = 4. The mass is initially in equilibrium position and it is released with an initial velocity of 2 units. At the instant t = π the mass is struck with a hammer and at t = 2π it is struck again. The motion of the mass satisfies the following IVP: y +4y +5y = δ(t π)+δ(t 2π); y(0) = 0, y (0) = 2. The delta (dirac) function is entered in MATLAB with the command dirac. (a) Use MATLAB to find the Laplace transform of the right hand side. (b) Apply (by hand) the Laplace transform to both sides of the equation and determine Y(s), the Laplace transform of the solution y(t). Use ilaplace to find the inverse Laplace of Y(s). (c) Plot the solution y(t) in the interval 0 t 12, and comment on the graphin the mass-spring context and in relation to the forcing term. 4. Consider a mass spring system with m = k = 1 and x(0) = x (0) = 0. At each of the instants t = 0,π,2π,3π,...,nπ,.., the mass is struck a hammer blow with a unit impulse. Thus the position function of the mass satisfies the IVP x +x = δ(t nπ), x(0) = x (0) = 0. n=0 Applying the Laplace Transform we obtain so that the solution is x(t) = X(s) = n=0 e nπs s 2 +1 u(t nπ)sin(t nπ). n=0 Because sin(t nπ) = ( 1) n sint and u(t nπ) = 0 for t nπ, we see that if nπ t (n+1)π, then x(t) = sint sint+sint...+( 1) n sint that is x(t) = { sint if n is even 0 if n is odd

10 MATLAB sessions: Laboratory 7 The physical explanation is that the first hammer blow (at time t = 0) starts the mass moving to the right; just as it returns to the origin, the second hammer blow stops it dead; it remains motionless until the third hammer blow starts it moving again, and so on. (a) Use MATLAB to construct a figure showing the graph of this position function in the interval [0,5π]. Now consider the same spring and mass, initially at rest, but struck with a hammer at each of the instants t = 0,2π,4π,... Suppose that each hammer blow imparts an impulse of +1. Thus the position function x(t) of the mass satisfies the initial value problem x +x = δ(t 2nπ), x(0) = x (0) = 0 n=0 (L7.1) (b) Solve the IVP L7.1 to show that if 2nπ < t < 2(n+1)π, then x(t) = (n+1)sint. Thus resonance occurs because the mass is struck each time it passes through the origin moving to the right - in contrast with the previous case, in which the mass was struck each time it returned to the origin. (c) Use MATLAB to construct a figure showing the graph of this position function in the interval [0,6π].