MATLAB: Can I use the ode45 solver for the state update in a unscented Kalman filter

unscented kalman filter

Can I use the ode45 solver for the state update in a unscented Kalman filter?
In "vdpStateFcn" using ode45 instead of Euler Integration shown in: https://ch.mathworks.com/help/control/ug/nonlinear-state-estimation-using-unscented-kalman-filter.html

Best Answer

You cannot use the ode45 function directly in the above example code as it will output integrated function values for all the time points instead of a single time-step value as required here. However, you can implement single-step updates of higher order methods such as Runge-Kutta ( https://en.wikipedia.org/wiki/Runge%2525E2%252580%252593Kutta_methods ) instead of the Euler method for better accuracy.
ode45 function itself uses an explicit Runge-Kutta formula, the Dormand-Prince pair (refer to the documentation page https://www.mathworks.com/help/matlab/ref/ode45.html#bu0200e-1)
You can find more information on other ODE integration methods related to this here https://blogs.mathworks.com/cleve/2014/05/26/ordinary-differential-equation-solvers-ode23-and-ode45/
Related Question