Runge Kutta to solve higher order ODE

  • #1

Homework Statement


RK4_sys.JPG


Edit* should say F'(0) = F(0) = 0

Homework Equations


I know that I typically need 3 equations for a 3rd order ODE, does this apply if the is no F'? In the picture above are the equations I came up with, am I on the right trail? Lastly I am familiar with RK4, however I have never used it to solve a system... how does one go about this? can it be done in excel? I took Diff Eq years ago and they really glossed over the numerical methods.

The Attempt at a Solution


The picture above is the question statement (at the top), and my attempt at breaking it into a system of equations.
 

Answers and Replies

  • #2
BvU
Science Advisor
Homework Helper
2019 Award
13,517
3,246
I know that I typically need 3 equations for a 3rd order ODE, does this apply if there is no F'
Yes.
am I on the right trail
Yes. Looks good.
can it be done in excel
Yes. I have a proposal: start with a simple integrator: forward Euler
how does one go about this
You have two initial conditions and one boundary condition. The easiest approach is the shooting method : guess a value for F''(0) and integrate. Adjust until for ##x\rightarrow \infty## F'(x) is close enough to one. ##x\rightarrow \infty## is a bit bothersome, so if F'(x) ##\approx## 1 and doesn't change too much any more you should be satisfied.

So what you want to solve is F''' = ##-##F F'' / 2

Your spreadsheet has five columns:
x, F, F', F'', F''' and if your first guess for F''(0) is, e.g., 1, the first row looks like: 0, 0, 0, 1, '= ##-F * F'/ 2 ## ' (if you know what I mean).

Choose a step size d, e.g. 0.01 then your next row looks like (supposing x(0) is in cell A4 )
Code:
=A4+dx ##\quad## =B4+dx*C4 ##\quad## =C4+dx*D4 ##\quad## =D4+dx*E4 ##\quad## =(-1)*(B5*D5*2)
which you can copy/paste from A6 all the way down to infinity (for me 400).

Take some time to understand these formulas: Euler is simply F(x+dx) = F(x) + F' dx ##\quad ##.

Then fumble with F''(0) until the boundary condition appears to be met reasonably well.

It's handy to use a defined name for dx so you can vary it to check if your step size is reasonable. (dx 0.01 and then Formulas | Create from selection)
 
  • #3
Thanks for the reply! I am still a little hung up on accounting for the boundary condition of F'(Inf) = 1, how do I account for this? I've only dealt with initial conditions before, which are much more obvious. Thanks!
 
  • #4
BvU
Science Advisor
Homework Helper
2019 Award
13,517
3,246
So deal with guessed initial conditions and keep guessing until the boundary condition is satisfied. Do you understand the explanation in the shooting method link ?
 

Related Threads on Runge Kutta to solve higher order ODE

Replies
1
Views
3K
Replies
3
Views
3K
Replies
5
Views
2K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
2
Views
2K
Replies
6
Views
48K
Replies
8
Views
751
Replies
0
Views
8K
  • Last Post
Replies
14
Views
1K
Top