Вопрос

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.

Это было полезно?

Решение

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

Другие советы

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top