RungeKutta4
This is a simple implementation of a 4th-order, fixed-step, Runge-Kutta integrator. It is fully vectorized, which allows a large number of simulations to be carried out in parallel. It is designed to be used inside of optimization code.
% z = rk4(dyn,t,z0)
%
% This function (rk4) is used to perform a 4th-order Runge-Kutta
% integration of a dynamical system.
%
% INPUTS:
% dyn = handle of the form:
% dz = userFunc(t,z)
% t = [1 x nTime] vector of times, created by linspace
% z0 = [nState (x nSim)] matrix of initial states
%
% OUTPUTS:
% z = [nState (x nSim) x nTime ] matrix of trajectories
%
Cite As
Matthew Kelly (2024). RungeKutta4 (https://www.mathworks.com/matlabcentral/fileexchange/54449-rungekutta4), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Numerical Integration and Differential Equations > Boundary Value Problems > Runge Kutta Methods >
Tags
Acknowledgements
Inspired: Numerical Methods, Murali_Lakshmanan_Chua Oscillator, Coupled mlc_oscillator, MLC_oscillator
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.