Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order...
Transcript of Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order...
![Page 1: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/1.jpg)
Chapter 9c: Numerical Methods for
Calculus and Differential Equations• Higher-Order Differential Equations
o Cauchy/State-Variable Form
o Euler Method
o MATLAB ODE Solver ode45
o ode45 with Matrix Method
• Matrix Methods for Linear Equations
• Control System Toolbox
![Page 2: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/2.jpg)
Higher-Order Differential EquationsThe methods used to solve first-order differential equations can be used
to solve higher-order ordinary differential equations. Consider a Spring-
Mass-Damper system:
y
![Page 3: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/3.jpg)
Higher-Order Differential EquationsThe mass is m, the spring constant is k, and the damping coefficient is c.
Newton’s Second Law for this system is:
𝑚 𝑦 + 𝑐 𝑦 + 𝑘𝑦 = 0
where the first derivative of position with respect to time is 𝑦 =𝑑𝑦
𝑑𝑡and
the second derivative is 𝑦 =𝑑2𝑦
𝑑𝑡2
Solve this equation by turning it into a system of two first-order
differential equations. First, solve the equation for the second derivative:
𝑦 = −𝑐
𝑚 𝑦 −
𝑘
𝑚𝑦
![Page 4: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/4.jpg)
Cauchy/State-Variable FormLet 𝑥1 = 𝑦 (Position) and 𝑥2 = 𝑦 (Velocity). Taking the derivative of the
first equation gives:
𝑥1 = 𝑦 = 𝑥2 or 𝑥1 = 𝑥2
Taking the derivative of the second equation gives:
𝑥2 = 𝑦 = −𝑐
𝑚 𝑦 −
𝑘
𝑚𝑦 or 𝑥2 = −
𝑐
𝑚𝑥2 −
𝑘
𝑚𝑥1
This is called the Cauchy Form or the State-Variable Form:
𝑥1= 𝑥2
𝑥2= −𝑐
𝑚𝑥2 −
𝑘
𝑚𝑥1
![Page 5: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/5.jpg)
Euler MethodNow use the Euler Method to discretize the system of equations as
follows:
𝑥1,𝑘+1 = 𝑥1,𝑘 + ∆𝑡 ∙ 𝑥2,𝑘
𝑥2,𝑘+1 = 𝑥2,𝑘 + ∆𝑡 ∙ −𝑐
𝑚𝑥2,𝑘 −
𝑘
𝑚𝑥1,𝑘
This system of equations is solved using the same Time-Stepping
technique that was shown previously using the Euler Method.
![Page 6: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/6.jpg)
MATLAB ODE Solver ode45Alternatively, use ode45 to solve the system:
[t, x] = ode45(@xdot, tspan, x0)
Function File:
![Page 7: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/7.jpg)
MATLAB ODE Solver ode45Script File:
![Page 8: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/8.jpg)
MATLAB ODE Solver ode45
![Page 9: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/9.jpg)
ode45 with Matrix MethodThe general Spring-Mass-Damper problem, where 𝑢 𝑡 is a forcing
function, can be solved by casting the equation in Matrix Form:
𝑚 𝑦 + 𝑐 𝑦 + 𝑘𝑦 = 𝑢(𝑡)
𝑥1 = 𝑥2
𝑥2 =1
𝑚𝑢(𝑡) −
𝑐
𝑚𝑥2 −
𝑘
𝑚𝑥1
𝑥1
𝑥2=
0 1
−𝑘
𝑚−
𝑐
𝑚
∙𝑥1
𝑥2+
01
𝑚
∙ 𝑢(𝑡)
![Page 10: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/10.jpg)
ode45 with Matrix Method
𝑥1
𝑥2=
0 1
−𝑘
𝑚−
𝑐
𝑚
∙𝑥1
𝑥2+
01
𝑚
∙ 𝑢(𝑡)
In Matrix Form:
𝐱 = 𝐀𝐱 + 𝐁 ∙ 𝑢(𝑡)where
𝐀 =0 1
−𝑘
𝑚−
𝑐
𝑚
𝐁 =01
𝑚
𝐱 =𝑥1
𝑥2
![Page 11: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/11.jpg)
ode45 with Matrix MethodFunction File:
![Page 12: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/12.jpg)
ode45 with Matrix MethodScript File:
![Page 13: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/13.jpg)
ode45 with Matrix Method
![Page 14: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/14.jpg)
Matrix Methods for Linear EquationsSpring-Mass-Damper system in Reduced Form or Transfer Function
Form:
𝑚 𝑦 + 𝑐 𝑦 + 𝑘𝑦 = 𝑢(𝑡)
SMD in State-Variable or State-Space Form:
𝑥1 = 𝑥2
𝑥2 =1
𝑚𝑢(𝑡) −
𝑐
𝑚𝑥2 −
𝑘
𝑚𝑥1
𝑥1
𝑥2=
0 1
−𝑘
𝑚−
𝑐
𝑚
∙𝑥1
𝑥2+
01
𝑚
∙ 𝑢(𝑡)
![Page 15: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/15.jpg)
Matrix Methods for Linear EquationsSMD in Matrix Form:
𝐱 = 𝐀𝐱 + 𝐁 ∙ 𝑢(𝑡)where
𝐀 =0 1
−𝑘
𝑚−
𝑐
𝑚
𝐁 =01
𝑚
𝐱 =𝑥1
𝑥2
All three forms describe the same second-order differential equation.
When the coefficients are constant, the above representation is called a
Linear, Time-Invariant equation, or an LTI Object or LTI System.
![Page 16: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/16.jpg)
Matrix Methods for Linear Equations 𝐱 = 𝐀𝐱 + 𝐁 ∙ 𝑢(𝑡)
𝐀 =0 1
−𝑘
𝑚−
𝑐
𝑚
𝐁 =01
𝑚
𝐱 =𝑥1
𝑥2
In this case, there are only two outputs: 𝑥1 and 𝑥2, which represent the
position and the velocity of the mass 𝑚. The outputs are given in the
following matrix:
𝐲 = 𝐂𝐱 + 𝐃𝒖(𝑡)
If the position of the mass is desired, 𝐂 = [1,0]. If the velocity is desired,
𝐂 = [0,1]. In all cases, 𝐃 = 0.
![Page 17: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/17.jpg)
Control System ToolboxThe most general case for a second-order LTI System in Reduced Form
is:
𝑎𝑑2𝑦
𝑑𝑥2+ 𝑏
𝑑𝑦
𝑑𝑥+ 𝑐𝑦 = 𝑑
𝑑𝑢
𝑑𝑥+ 𝑒𝑢
This system can be input to MATLAB as follows:
sys = tf(right,left)
where tf stands for Transfer Function. The right- and left-hand
coefficient vectors are:
right = [d, e] and left = [a, b, c]
![Page 18: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/18.jpg)
Control System ToolboxAlternatively, the LTI System can be input to MATLAB in State-Space
Form directly:
A = [0, 1; -k/m, -c/m]B = [0; 1/m]C = [1, 0] for position of mass
D = 0sys = ss(A,B,C,D)
Function Required Form Initial Conditions
initial(sys,x0) Free Response (Undriven) State Default Zero or Input
impulse(sys) Impulse Response Transfer or State Zero
step(sys) Unit-Step Transfer or State Zero
lsim(sys,u,t,x0) Arbitrary Input Response Transfer or State Default Zero or Input
![Page 19: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/19.jpg)
Initial-Condition Responseinitial(sys,x0) gives the Undriven Response of the system of
equations, where 𝑢 𝑡 = 0, subject to a set of initial conditions:
2 𝑦 + 3 𝑦 + 5𝑦 = 𝑢 𝑡 , 𝑦 0 = 10, 𝑦 0 = 5
𝐀 =0 1
−5
2−
3
2
𝐁 =01
2
The system must be cast into State-Variable or State-Space (ss) form.
![Page 20: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/20.jpg)
Initial-Condition Response
A = [0 1; -5/2 -3/2];B = [0; 1/2];C = [1 0];D = 0;sys_ss = ss(A,B,C,D);x0 = [10 5];initial(sys_ss, x0)
![Page 21: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/21.jpg)
Impulse Responseimpulse(sys)
gives the response of
the system of equations
to an Impulse
Function, where the
initial conditions are set
to zero.
Impulse Function:
𝑢 𝑡 =1
𝑎 𝜋𝑒−𝑥2/𝑎2
as 𝑎 → 0
![Page 22: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/22.jpg)
Impulse Response
A = [0 1; -5/2 -3/2];B = [0; 1/2];C = [1 0];D = 0;sys_ss = ss(A,B,C,D);impulse(sys_ss)
![Page 23: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/23.jpg)
Unit-Step Responsestep(sys) gives the
response of the system of
equations to a Unit-Step
Function, where the
initial conditions are set
to zero.
Unit−Step Function:
𝑢 𝑡 = 0, 𝑡 < 01, 𝑡 ≥ 0
![Page 24: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/24.jpg)
Unit-Step Response
A = [0 1; -5/2 -3/2];B = [0; 1/2];C = [1 0];D = 0;sys_ss = ss(A,B,C,D);step(sys_ss)
![Page 25: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/25.jpg)
Unit-Step Response
Steady State Value
![Page 26: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/26.jpg)
Unit-Step Response
Settling Time
± 2% of SS Value
![Page 27: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/27.jpg)
Unit-Step Response
Rise Time
90% of SS Value
10% of SS Value
![Page 28: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/28.jpg)
Unit-Step Response
Peak Time
Peak Response
![Page 29: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/29.jpg)
Signal Generator: Sine Wave
[u,t] = gensig('sin',5,30,0.01)plot(t, u, 'LineWidth',2)xlabel('t'), ylabel('u(t)')axis([0 30 -1.2 1.2])grid ontitle('Sine Wave')
![Page 30: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/30.jpg)
Signal Generator: Square Wave
[u,t] = gensig('square',5,30,0.01)plot(t, u, 'LineWidth',2)xlabel('t'), ylabel('u(t)')axis([0 30 -1.2 1.2])grid ontitle('Square Wave')
![Page 31: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/31.jpg)
Signal Generator: Pulse Wave
[u,t] = gensig(pulse',5,30,0.01)plot(t, u, 'LineWidth',2)xlabel('t'), ylabel('u(t)')axis([0 30 -1.2 1.2])grid ontitle(‘Pulse Wave')
![Page 32: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/32.jpg)
Arbitrary Input Responselsim(sys, u,t) gives the response of the system of equations to an
Arbitrary Input Function, where the initial conditions are set to zero.
A = [0 1; -5/2 -3/2];B = [0; 1/2];C = [1 0];D = 0;sys_ss = ss(A,B,C,D);[u,t] = gensig('sin',5,30,0.01);[y, t] = lsim(sys_ss, u,t);plot(t, u, t, y),xlabel('t')
![Page 33: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/33.jpg)
Problem 9.30:
Solve using the Euler Method. This is a second-order ordinary
differential equation. Rewrite the equation by solving for the second
derivative.
𝑦 = −18
3 𝑦 −
102
3𝑦 +
10
3= −6 𝑦 − 34𝑦 +
10
3
![Page 34: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/34.jpg)
Problem 9.30:
Let 𝑥1 = 𝑦 and 𝑥2 = 𝑦. Taking the derivative of the first equation gives
𝑥1 = 𝑦 = 𝑥2 or 𝑥1 = 𝑥2
Taking the derivative of the second equation gives
𝑥2 = 𝑦 = −6 𝑦 − 34𝑦 +10
3= −6𝑥2 − 34𝑥1 +
10
3or
𝑥2 = −6𝑥2 − 34𝑥1 +10
3The original second-order ordinary differential equation is now
converted into two first-order ordinary differential equations that are
coupled.
𝑥1 = 𝑥2, 𝑥2 = −6𝑥2 − 34𝑥1 +10
3, 𝑥1 0 = 0, 𝑥2 0 = 0
The system of equations can be discretized as follows:
𝑥1,𝑘+1 = 𝑥1,𝑘 + ∆𝑡 ∙ 𝑥2,𝑘
𝑥2,𝑘+1 = 𝑥2,𝑘 + ∆𝑡 ∙ −6𝑥2,𝑘 − 34𝑥1,𝑘 +10
3
![Page 35: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/35.jpg)
Problem 9.30:
The initial conditions are 𝑦 0 = 𝑥1 0 = 0 and 𝑦 0 = 𝑥2 0 = 0. Let
∆𝑡 = 0.01 seconds.
For 𝑘 = 1:
𝑥1 2 = 𝑥1 1 + ∆𝑡 ∙ 𝑥2 1 = 0.0 + 0.01 0.0 = 0.0
𝑥2(2) = 𝑥2(1) + ∆𝑡 −6𝑥2(1) − 34𝑥1(1) + 10/3
𝑥2(2) = 0.0 + 0.01 − 6 0.0 − 34 0.0 + 10/3 = 0.0 3
For 𝑘 = 2:
𝑥1 3 = 𝑥1 2 + ∆𝑡 ∙ 𝑥2 2 = 0.0 + 0.01 0.0 3 = 0.000 3
𝑥2(3) = 𝑥2(2) + ∆𝑡 −6𝑥2(2) − 34𝑥1(2) + 10/3
𝑥2(3) = 0.0 3 + 0.01 − 6 0.0 3 − 34 0.0 + 10/3 = 0.064 6
![Page 36: Calculus and Differential Equationscecs.wright.edu/~sthomas/matlabnoteschap09c.pdf · Higher-Order Differential Equations The mass is m, the spring constant is k, and the damping](https://reader034.fdocuments.in/reader034/viewer/2022043009/5f9e16e18560d31d1232f2d0/html5/thumbnails/36.jpg)
Problem 9.30: