Question

I have a question on the same topic in math.stackexchange.com: https://math.stackexchange.com/questions/664422/how-does-matlab-simulink-get-such-accurate-ode-solution-results, and it remains open.

I am looking to understand how Simulink's accuracy of solving ODEs with purportedly the fourth order Runge-Kutta solver (ODE4) far exceeds any implementation I have developed so far. Either I have incorrectly implemented the algorithm or Simulink is doing extra work behind-the-scenes to increase accuracy. I have asked on the math stack exchange site about potential mathematical methods, I ask here about computer science methods of achieving increased accuracy.

My interest comes from a need to understand model stability using different solution methods, and not knowing what Simulink is doing to get accuracy means having less idea of its potential stability in certain situations.

Was it helpful?

Solution

I think that this has some connection with energy conservation of integration method.

They are probably using modified RK method without such energy drift.

http://en.wikipedia.org/wiki/Symplectic_integrator

OTHER TIPS

The simple Runge-Kutta method as it turns out is as accurate as the Simulink definition when implemented correctly. Several implementation errors contributed to a relatively small but definite error from the correctly implemented solution.

The answer to this question is that Simulink implements the RK solver as agreed in literature with no proprietary improvement.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top