How to Apply Runge-Kutta to Solve a Simple Motion Problem

In summary, the car would travel 500m in 10 seconds if the driver applies the 4th order Runge-Kutta integration method.
  • #1
scorp007
5
0
Hi,

Could someone please show me how to solve the following simple problem using the Runge-Kutta (RK4) integration method?

A car at t=0 has acceleration 10m/s/s, velocity 0m/s.
How far would the car travel in 10 seconds?

I know this can be solved using the equations of motion (giving an answer of 500m) but I'm trying to understand how to apply Runge-Kutta to this problem.


Thanks for your attention.
 
Physics news on Phys.org
  • #2
First you need to express your problem as a differential equation.

In your case that is:

[tex] \ddot {x} = c [/tex]

I think that you will find that this is a trivial system and not a good example of how to apply RK.
 
  • #3
I understand the problem is a trivial one, especially to integrate the acceleration to find velocity, but would you mind showing me how to apply the RK4 technique to this simple problem so I can understand it better?
 
  • #4
What have you done before asking us here for help? I googled "Runge Kutta" and got 1,040,000 hits. The first two at http://mathworld.wolfram.com/Runge-KuttaMethod.html" are both well-written.

Integral said:
First you need to express your problem as a differential equation.

[tex] \ddot {x} = c [/tex]

None of the RK methods use the second derivative. Any second-order problem can be reformulated as a first-order problem, in this case

[tex]\vect x = \bmatrix r \\ v \endbmatrix [/tex]
[tex]\vect x(0) &= \bmatrix 0 \\ 0 \endbmatrix [/tex]
[tex]\dot {\vect x} &= \bmatrix v \\ 10 \endbmatrix [/tex]
where [itex]r[/itex] is the position of the car and [itex]v[/itex] is its velocity.
 
Last edited by a moderator:
  • #5
Thanks for the tip. I have already done a google search and looked at both mathworld and wikipedia. Using the basic Euler integration method, I would simply integrate acceleration to get velocity at a particular instance of time and then use the value I obtain to further integrate and find position.

I guess what I'm after is an example of the steps for at least a few values of t so I can see how you get from acceleration to position and what needs to be plugged in where (some of the notation is slightly confusing). If you would be so kind as to perform the runge-kutta technique for t=1 and t=2 to find both the velocity and position at those points, I would be very grateful for the assistance.Thanks.
 
  • #6
If you did a google search then you surely must have seen the formula:

xn+1 = xn + h⁄6 (a + 2 b + 2 c + d)
where
a = f (tn, xn)
b = f (tn + h⁄2, xn + h⁄2 a)
c = f (tn + h⁄2, xn + h⁄2 b)
d = f (tn + h, xn + h c)

for the 4th order Runge-Kutta method.

As Integral said, you need to convert your second order equation into a system of two first order equations: If you let v= x' then x"= v'= c so your two equations are x'= v and v'= c. Now do two parallel RungeKutta Calculations. The "f" for x'= v is f(t,x,v)= v and for v'= c f(t,x,v)= c, a constant. Assuming that your initial values are x(0)= 0 and v(0)= 0 then, again, for the equation x'= v ax = f (tn, xn, vn)= f(0,0,0)= 0 while for v'= c, av= f(0,0,0)= c so
bx = f (tn + h⁄2, xn + h⁄2 ax, vn+ h/2 av)= 0+ hc/2= hc/2 and
bv= f(tn+ h/2, xn+ h/2 ax,vn+h/2 av)= c

cx = f (tn + h⁄2, xn + h⁄2 bx,vn+ h/2 bv)= 0+ h/2 (c)= hc/2 and
cv= c

dx = f (tn + h, xn + h cx,vn+ h cv) = hc/3 and dv= c again.

Then x1= x(h)= 0 + h⁄6 (0 + 2 hc/2 + 2 hc/2 + hc/2)= 5h2c/12 and v1= v(h)= h/6(c+ 2c+ 2c+ c)= hc.
 
  • #7
In this case (and in many problems), the state time derivative does not depend
directly on time:
[tex]f(t,x) = \dot {\vect x}(t) = \bmatrix v(t) \\ 10 \endbmatrix [/tex]

Taking your simple problem from t=0 to t=1 ([itex]h = \Delta t = 1[/itex]),
[tex]\vect x_0 = \bmatrix 0 \\ 0 \endbmatrix [/tex]
[tex]\vect k_1 = f(0,\vect x_0) = \bmatrix 0 \\ 10 \endbmatrix [/tex]
[tex]\vect x_1 = \vect x_0 + \frac{\Delta t}{2}\vect k_1
= \bmatrix 0 \\ 5 \endbmatrix [/tex]
[tex]\vect k_2 = f(1/2,\vect x_1) = \bmatrix 5 \\ 10 \endbmatrix [/tex]
[tex]\vect x_2 = \vect x_0 + \frac{\Delta t}{2}\vect k_2
= \bmatrix 2.5 \\ 5 \endbmatrix [/tex]
[tex]\vect k_3 = f(1/2,\vect x_2) = \bmatrix 5 \\ 10 \endbmatrix [/tex]
[tex]\vect x_3 = \vect x_0 + \Delta t\vect k_3
= \bmatrix 5 \\ 10 \endbmatrix [/tex]
[tex]\vect k_4 = f(1,\vect x_3) = \bmatrix 10 \\ 10 \endbmatrix [/tex]

[tex]\vect x(1) = \vect x(0) +
\frac{\Delta t}6 (\vect k_1 + 2 \vect k_2 + 2 \vect k_3 + \vect k_4)
= \bmatrix 0 \\ 0 \endbmatrix +
\frac 1 6
\left(\bmatrix 0 \\ 10 \endbmatrix +
2 \bmatrix 5 \\ 10 \endbmatrix +
2 \bmatrix 5 \\ 10 \endbmatrix +
\bmatrix 10 \\ 10 \endbmatrix\right)
= \bmatrix 5 \\ 10 \endbmatrix
[/tex]
 

1. What is Runge-Kutta Integration?

Runge-Kutta Integration is a numerical method used to approximate the solutions of ordinary differential equations. It is a family of algorithms that use a series of steps to calculate the values of a function at specific points in time or space.

2. How does Runge-Kutta Integration work?

Runge-Kutta Integration works by breaking down the differential equation into smaller steps and using a weighted average of these steps to approximate the solution. This allows for a more accurate estimation of the solution compared to other numerical methods.

3. What are the advantages of using Runge-Kutta Integration?

Runge-Kutta Integration is a versatile and accurate method for solving differential equations. It can handle a wide range of problems and is more accurate than other numerical methods, such as Euler's method. It also allows for variable step sizes, making it more efficient for complex problems.

4. What are the limitations of Runge-Kutta Integration?

One limitation of Runge-Kutta Integration is that it requires the function to be continuous and differentiable for the entire range of the solution. It can also be computationally expensive for larger systems of differential equations.

5. How is Runge-Kutta Integration used in scientific research?

Runge-Kutta Integration is commonly used in scientific research, particularly in fields such as physics, engineering, and mathematics. It is used to solve complex differential equations that arise in various scientific problems, such as modeling the dynamics of a system or predicting future behavior.

Similar threads

Replies
10
Views
160
  • Differential Equations
Replies
16
Views
3K
  • Differential Equations
Replies
6
Views
3K
Replies
9
Views
2K
  • Differential Equations
Replies
4
Views
3K
  • Programming and Computer Science
Replies
8
Views
2K
Replies
2
Views
3K
  • Programming and Computer Science
Replies
15
Views
2K
  • Differential Equations
Replies
6
Views
4K
  • Calculus and Beyond Homework Help
Replies
14
Views
2K
Back
Top