Differential Equations · Differential equations • What is a differential equation?! • It...
Transcript of Differential Equations · Differential equations • What is a differential equation?! • It...
![Page 1: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/1.jpg)
Differential Equations
![Page 2: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/2.jpg)
![Page 3: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/3.jpg)
![Page 4: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/4.jpg)
• Overview of differential equation!
• Initial value problem!
• Explicit numeric methods!
• Implicit numeric methods!
• Modular implementation
![Page 5: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/5.jpg)
Physics-based simulation
• An algorithm that produces a sequence of states over time under the laws of physics!
• What is a state?
![Page 6: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/6.jpg)
Physics simulationxi
∆x
xi+1
xi
xi+1 = xi + ∆x
differential equations
integrator
![Page 7: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/7.jpg)
Differential equations
• What is a differential equation?!
• It describes the relation between an unknown function and its derivatives!
• Ordinary differential equation (ODE)!
• is the relation that contains functions of only one independent variable and its derivatives
![Page 8: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/8.jpg)
Ordinary differential equations
An ODE is an equality equation involving a function and its derivatives
What does it mean to “solve” an ODE?
x(t) = f(x(t))
known function
time derivative of the unknown function
unknown function that evaluates the state given time
![Page 9: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/9.jpg)
Symbolic solutions• Standard introductory differential equation
courses focus on finding solutions analytically!
• Linear ODEs can be solved by integral transforms!
• Use DSolve[eqn,x,t] in Mathematica
Solution: x(t) = e
�kt
Differential equation:x(t) = �kx(t)
![Page 10: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/10.jpg)
Numerical solutions
• In this class, we will be concerned with numerical solutions!
• Derivative function f is regarded as a black box!
• Given a numerical value x and t, the black box will return the time derivative of x
![Page 11: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/11.jpg)
Physics-based simulationxi
∆x
xi+1
xi
xi+1 = xi + ∆x
integrator
differential equations
![Page 12: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/12.jpg)
• Overview of differential equation!
• Initial value problem!
• Explicit numeric methods!
• Implicit numeric methods!
• Modular implementation
![Page 13: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/13.jpg)
Initial value problemsIn a canonical initial value problem, the behavior of the system is described by an ODE and its initial condition:
x = f(x, t)
x(t0) = x0
To solve x(t) numerically, we start out from x0 and follow the changes defined by f thereafter
![Page 14: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/14.jpg)
Vector field
The differential equation can be visualized as a vector field
x = f(x, t)
x2
x1
![Page 15: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/15.jpg)
Quiz
Which one is the vector field of x = �0.5x ?
![Page 16: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/16.jpg)
Vector field
How does the vector field look like if f depends directly on time?
The differential equation can be visualized as a vector field
x = f(x, t)
x2
x1
![Page 17: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/17.jpg)
Integral curves
f(x, t)
!t0
f(x, t)dt
![Page 18: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/18.jpg)
Physics-based simulationxi
∆x
xi+1
xi
xi+1 = xi + ∆x
Newtonian lawsgravity
wind gust
elastic force.
.
.
integrator
![Page 19: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/19.jpg)
• Overview of differential equation!
• Initial value problem!
• Explicit numeric methods!
• Implicit numeric methods!
• Modular implementation
![Page 20: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/20.jpg)
Explicit Euler method
Discrete time step h determines the errors
Instead of following real integral curve, p follows a polygonal path
How do we get to the next state from the current state?
x(t0 + h) = x0 + hx(t0)x(t0 + h)
x(t0)p
![Page 21: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/21.jpg)
Problems of Euler method
Inaccuracy
The circle turns into a spiral no matter how small the step size is
![Page 22: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/22.jpg)
Problems of Euler method
Instability
Oscillation: x(t) oscillates around equilibrium.
x = −kx
x(t) = e−ktSymbolic solution:
Divergence: x(t) eventually goes to infinity (or negative infinity).
![Page 23: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/23.jpg)
Problems of Euler method
Instabilityx = −kx
x(t) = e−ktSymbolic solution:
h < 1/k to avoid oscillation
![Page 24: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/24.jpg)
Quiz
Instabilityx = −kx
x(t) = e−ktSymbolic solution:
What’s the largest time step without divergence?
![Page 25: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/25.jpg)
Quiz
Instabilityx = −kx
x(t) = e−ktSymbolic solution:
What’s the largest time step without oscillation?
![Page 26: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/26.jpg)
Accuracy of Euler method
• At each step, x(t) can be written in the form of Taylor series:!
!
• What is the order of the error term in Euler method?!
• The cost per step is determined by the number of evaluations per step
x(t0 + h) = x(t0) + hx(t0) +h2
2!x(t0) +
h3
3!x
(3)(t0) + . . .hn
n!
∂nx
∂tn
Taylor series is a representation of a function as an infinite sum of terms calculated using the
derivatives at a particular point
![Page 27: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/27.jpg)
Stability of Euler method
• Assume the derivative function is linear!
!
• Look at x parallel to the largest eigenvector of A!
!
• Note that eigenvalue can be complex
d
dtx = Ax
d
dtx = λx
λ
![Page 28: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/28.jpg)
The test equation
• Test equation advances x by!
!
• Solving gives!
!
• Condition of stability
xn+1 = xn + hλxn
xn = (1 + hλ)nx0
|1 + hλ| ≤ 1
![Page 29: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/29.jpg)
Stability region• Plot all the values of hλ on the complex plane
where Euler method is stable
![Page 30: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/30.jpg)
Real eigenvalue• If eigenvalue is real and negative, what kind of
the motion does x correspond to?!
• a damping motion smoothly coming to a halt!
• The threshold of time step!
!
• What about the imaginary axis?
h ≤2
|λ|
![Page 31: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/31.jpg)
Imaginary eigenvalue
• If eigenvalue is pure imaginary, Euler method is unconditionally unstable!
• What motion does x look like if the eigenvalue is pure imaginary?!
• an oscillatory or circular motion!
• We need to look at other methods
![Page 32: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/32.jpg)
The midpoint method
2. Evaluate f at the midpoint
3. Take a step using fmid
fmid = f(x(t0) +∆x
2)
1. Compute an Euler step∆x = hf(x(t0))
x(t0 + h) = x(t0) + hfmid
x(t + h) = x0 + hf(x0 +h
2f(x0))
![Page 33: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/33.jpg)
Accuracy of midpointProve that the midpoint method has second order accuracy
x(t + h) = x0 + hf(x0 +h
2f(x0))
x(t + h) = x0 + hx0 +h2
2x0 + O(h3)
x(t + h) = x0 + hf(x0) +h2
2f(x0)
∂f(x0)
∂x
+ hO(x2)
∆x =h
2f(x0)
f(x0 + ∆x) = f(x0) + ∆x∂f(x0)
∂x
+ O(x2)
![Page 34: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/34.jpg)
Stability regionxn+1 = xn + hλx
n+ 1
2
= xn + hλ(xn +1
2hλxn)
xn+1 = xn(1 + hλ +1
2(hλ)2)
hλ = x + iy
!
!
!
!
"
1
0
#
+
"
x
y
#
+1
2
"
x2 − y
2
2xy
#!
!
!
!
≤ 1
!
!
!
!
"
1 + x +x2−y
2
2
y + xy
#!
!
!
!
≤ 1
![Page 35: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/35.jpg)
Stability of midpoint• Midpoint method has larger stability region, but
still unstable on the imaginary axis
![Page 36: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/36.jpg)
Quiz
RK1
RK2
What is the largest time step for RK1? What is the largest time step for RK2?
Consider a dynamic system where
� = �2� i2
![Page 37: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/37.jpg)
Runge-Kutta method
• Runge-Kutta is a numeric method of integrating ODEs by evaluating the derivatives at a few locations to cancel out lower-order error terms!
• Also an explicit method: xn+1 is an explicit function of xn
![Page 38: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/38.jpg)
Runge-Kutta method
• q-stage p-order Runge-Kutta evaluates the derivative function q times in each iteration and its approximation of the next state is correct within O(hp+1)!
• What order of Runge-Kutta does midpoint method correspond to?
![Page 39: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/39.jpg)
4-stage 4th order Runge-Kutta
f(x0, t0)
f(x0 +k1
2, t0 +
h
2)
f(x0 +k2
2, t0 +
h
2)
f(x0 + k3, t0 + h)
x0
x(t0 + h)
2.
1.
3.
4.
k1 = hf(x0, t0)k2 = hf(x0 + k1
2, t0 + h
2)
k3 = hf(x0 + k2
2, t0 + h
2)
k4 = hf(x0 + k3, t0 + h)x(t0 + h) = x0 + 1
6k1 + 1
3k2 + 1
3k3 + 1
6k4
t
x
![Page 40: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/40.jpg)
High order Runge-Kutta• RK3 and up are include part of the imaginary axis
![Page 41: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/41.jpg)
Quiz
RK1
If lambda is where the red dot is, which integrators can generate stable simulation?
(A) RK4 only
(B) RK4 and RK3
(C) RK4, RK3, and RK1
![Page 42: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/42.jpg)
Stage vs. order
p 1 2 3 4 5 6 7 8 9 10q 1 2 3 4 6 7 9 11 12-17 13-17
The minimum number of stages necessary for an explicit method to attain order p is still an open problem
Why is fourth order the most popular Runge Kutta method?
![Page 43: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/43.jpg)
Adaptive step size
• Ideally, we want to choose h as large as possible, but not so large as to give us big error or instability!
• We can vary h as we march forward in time!
• Step doubling!
• Embedding estimate!
• Variable step, variable order
![Page 44: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/44.jpg)
Step doubling
e
xb = xtemp +h
2f(xtemp, t0 +
h
2)
xtemp = x0 +h
2f(x0, t0)
Estimate by taking a full Euler stepxa
Estimate by taking two half Euler stepsxb
e = |xa − xb| is bound by O(h2)
Given error tolerance , what is the optimal step size?ϵ
!
ϵ
e
"1
2
h
xa = x0 + hf(x0, t0)
![Page 45: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/45.jpg)
Quiz
I use step doubling at the current step and the error is 0.4. Given that the error threshold of the simulation is set at 0.001, I should
(A) Increase h by 400 times!(B) Decrease h by 400 times!(C) Increase h by 20 times!(D) Decrease h by 20 times
![Page 46: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/46.jpg)
Embedding estimate
• Also called Runge-Kutta-Fehlberg!
• Compare two estimates of !
• Fifth order Runge-Kutta with 6 stages!
• Forth order Runge-Kutta with 6 stages
x(t0 + h)
![Page 47: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/47.jpg)
Variable step, variable order
• Change between methods of different order as well as step based on obtained error estimates!
• These methods are currently the last work in numerical integration
![Page 48: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/48.jpg)
Problems of explicit methods
• Do not work well with stiff ODEs!
• Simulation blows up if the step size is too big!
• Simulation progresses slowly if the step size is too small
![Page 49: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/49.jpg)
Example: a bead on the wire
Y =d
dt
!
x(t)y(t)
"
=
!
−x(t)−ky(t)
"
Ynew =
!
(1 − h)x(t)(1 − kh)y(t)
"
Ynew = Y0 + hY(t0) =
!
x(t)y(t)
"
+ h
!
−x(t)−ky(t)
"
Explicit Euler’s method:
Y(t) = (x(t), y(t))y(t)
x(t)
![Page 50: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/50.jpg)
Stiff equations
• Stiffness constant: k!
• Step size is limited by the largest k!
• Systems that has some big k’s mixed in are called “stiff system”
![Page 51: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/51.jpg)
• Overview of differential equation!
• Initial value problem!
• Explicit numeric methods!
• Implicit numeric methods!
• Modular implementation
![Page 52: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/52.jpg)
Implicit methods
Implicit Euler: Ynew = Y0 + hf(Ynew)
Explicit Euler: Ynew = Y0 + hf(Y0)
Solving for such that ! , at time , points directly back at !! !
fYnewt0 + h
Y0
![Page 53: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/53.jpg)
Implicit methods
Ynew = Y0 + hf(Y0) + h∆Yf ′(Y0)
∆Y =
!
1
hI − f ′(Y0)
"−1
f(Y0)
Approximating f(Ynew) by linearizing f(Y)
f(Ynew) = f(Y0) + ∆Yf ′(Y0) ∆Y = Ynew − Y0, where
Our goal is to solve for Ynew such thatYnew = Y0 + hf(Ynew)
f(Y, t) = Y(t)
f(Y, t)� =⇥f
⇥Y
![Page 54: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/54.jpg)
Example: A bead on the wireApply the implicit Euler method to the bead-on-wire example
∆Y =
!
1
hI − f ′(Y0)
"−1
f(Y0)
=
!
−1 0
0 −k
"
f ′(Y(t)) =∂f(Y(t))
∂Y
f(Y(t)) =
!
−x(t)−ky(t)
"
∆Y =
!
1+h
h0
0 1+kh
h
"
−1 !
−x0
−ky0
"
=
!
h
h+10
0h
1+kh
" !
−x0
−ky0
"
= −
!
h
h+1x0
h
1+khky0
"
![Page 55: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/55.jpg)
Example: A bead on the wireWhat is the largest step size the implicit Euler method can take?
limh→∞
∆Y = limh→∞
−
!
h
h+1x0
h
1+khky0
"
= −
!
x0
1
kky0
"
= −
!
x0
y0
"
Ynew = Y0 + (−Y0) = 0
![Page 56: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/56.jpg)
QuizConsider a linear ODE in
If h = 1 and the current state is
What is the next state computed by an implicit integrator?
x = f(x) =
�1 00 �99
�x
R2
100100
�
![Page 57: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/57.jpg)
Stability of implicit Euler• Test equation shows stable when!
!
• How does the stability region look like?
|1 − hλ| ≥ 1
![Page 58: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/58.jpg)
Problems of implicit Euler
• Implicit Euler could be stable even when physics is not!!
• Implicit Euler damps out motion unrealistically
![Page 59: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/59.jpg)
Implicit vs. explicit
correct solution: x(h) = e−hk
implicit Euler: x(h) =1
1 + hk
explicit Euler: x(h) = 1 − hk
h
x(h) = −kx(h)x(0) = 1
x
![Page 60: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/60.jpg)
Trapezoidal rule
• Take a half step of explicit Euler and a half step of implicit Euler!
!
• Explicit Euler is under-stable, implicit Euler is over-stable, the combination is just right
xn+1 = xn + h(1
2f(xn) +
1
2f(xn+1))
![Page 61: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/61.jpg)
Stability of Trapezoidal
• What is the test equation for Trapezoidal?!
!
• Where is the stability region?!
• negative half-plane!
• Stability region is consistent with physics!
• Good for pure rotation
hλ ≤ 0
![Page 62: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/62.jpg)
Terminology
• Explicit Euler is also called forward Euler!
• Implicit Euler is also called backward Euler
![Page 63: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/63.jpg)
• Overview of differential equation!
• Initial value problem!
• Explicit numeric methods!
• Implicit numeric methods!
• Modular implementation
![Page 64: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/64.jpg)
Modular implementation• Write integrator in terms of!
• Reusable code!
• Simple system implementation!
• Generic operations:!
• Get dim(x)!
• Get/Set x and t!
• Derivative evaluation at current (x, t)
![Page 65: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/65.jpg)
Solver interface
System (black box)
Solver (integrator)
GetDim
Deriv Eval
Get/Set State
![Page 66: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/66.jpg)
Summary
• Explicit Euler is simple, but might not be stable; modified Euler may be a cheap alternative!
• RK4 allows for larger time step, but requires much more computation!
• Use implicit Euler for better stability, but beware of over-damp
![Page 67: Differential Equations · Differential equations • What is a differential equation?! • It describes the relation between an unknown function and its derivatives! • Ordinary](https://reader031.fdocuments.net/reader031/viewer/2022022809/5e62d883acf348073b62e2b3/html5/thumbnails/67.jpg)
QuizWhen I tried to simulate an ideal spring using explicit Euler method, the simulation blew up very quickly after a few iterations. Which of the following actions will result in stable simulation? Why?!!1. Reduce time step 2. Use midpoint method3. Use implicit method4. Use fourth order Runge Kutta method !5. Use trapzoidal rule