What is the advantage of Runge Kutta (or any other) method over just solving the o.d.e?

1.6k Views Asked by At

An example in task had a model with "runge kutta RK4 approximation applied" so I naturally went to Google what Runge Kutta method is. I found how to use it and why it's better over euler method but I didn't find why/what it is used for.

From what I read, Runge-Kutta is used to approximate ordinary differential equation solutions. And here's my question: Why use Runge-Kutta, if we can just solve the differential equation using integral and get infinitely more precise solution? Question is not limited to Runge Kutta, it is just the one I'm currently working with.

Perhaps my understanding of RK or o.d.e is totally wrong.

3

There are 3 best solutions below

1
On

Why use Runge-Kutta, if we can just solve the differential equation using integral and get infinitely more precise solution?

That's a pretty darn big "if" you have there. In fact, most differential equations, ordinary or not, cannot be solved. And in practical use, we may not even know the true form of the equation itself, just a few discrete measurements of the coefficient functions. That's what numerical methods like Euler or RK are really for.

0
On

When I started taking Differential Equations (18.03) at MIT, I quickly got the impression that Diff Eq is not a "finished" class. They haven't finished discovering it yet, they haven't figured out how to solve huge categories of equations, and so forth. There was very little by way of general techniques, and a whole bunch of specialized tricks: "If you see this, try that." It was like integration but squared. "Derivatives are a science; Integrals are an art; Differential Equations are a black art."

So I found myself wondering why they were bothering to teach it when it wasn't done yet. The answer is simple: our understanding of Nature is currently written in the language of differential equations. We don't have time to wait for a finished, perfect theory. If you go into physics or any sort of engineering, you are probably going to be fighting with differential equations at every turn. So they teach us as best they can the tools that have been developed so far. Differential equations are HARD. If you find an exact solution of the Einstein equations, for example, you usually get it named after you.

Numerical approximation is the approach when all else fails. And all else fails far more often than not. Different techniques of approximation have different efficiencies in terms of computation time and memory usage and so forth, and it makes sense to pick the technique that works most efficiently for your problem. Runge-Kutta is one of those techniques.

0
On

Most real world applications of differential equations are not easily analytically solvable. When I took numerical methods an example problem we had was simulating a giant asteroid called Apophis to determine the likelihood of a collision with Earth using other planets and the moon as well. This ends up being a system of differential equations. It isn't super hard but it's also not something most people want to do.

Real world problems are much more complex than that. Applications in engineering typically have you simulating different forces on buildings or products by generating complex meshes to evaluate them. The reality is you could never do any of that by hand. If you watched the movie "Hidden Figures" she ends up using a simple Runge-Kutte method. More complex Runge-Kutte methods that you use in practice are more complex and require more evaluations.

Runge-Kutte is also a relatively simple way that doesn't apply to all differential equations. There are much more complex and time consuming methods.