File Exchange

image thumbnail

Stochastic Model Predictive Control simulator

Stochastic model predictive control (chance-constrained and scenario based) simulator for SISO linear systems with additive disturbances.


Updated 22 May 2020

View License

Most stochastic MPC's can be classified within two groups: In the first group are those based in analytical methods (Chance-Constrained), which
solve an OCP based on the expected value of an index cost, subject to probabilistic constraints, generally in the predicted states. In the second group are those based on random scenarios (Scenario-Based), which solve an OCP for a determined number of random realizations of uncertainties also called scenarios.

The files contain a basic Stochastic predictive control simulators for SISO linear systems with additive disturbances. The disturbances have a Gaussian probability distribution and can be bounded. In total there are two simulators: a simulator for an MPC based on chance constraints for states; and another based on scenarios of realizations of the disturbances. In addition, for each controller there are files with examples based on a two-mass spring system implementation.

Please, before starting to use it, read the file "readme.txt"

Author: Edwin Alonso González Querubín
Research Group: Predictive Control and Heuristic Optimization (CPOH)
Unversity: Universidad Politécnica de Valencia

Cite As

Edwin Alonso González Querubín (2020). Stochastic Model Predictive Control simulator (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Stephen Forczyk, you must fill that file with the information of your process. There is an example. Please read the end of the file "readme.txt"

Could not get your script to run as delivered. Get thee errors
% Initial state and Kalman filter
% x0: is the initial system state and must be size nx_X_1
% P0: is initial state covariance for Kalman filter to estimate the states
% of the system and must be size nx_X_nx. If you prefer to use the real
% states of the system, make P0 = NaN
x0 = ; Matlab does not like this!!!!!!
P0 = ;



only changes in the post description


Just an update to the image of this post.


Only changes to the image of the publication.

MATLAB Release Compatibility
Created with R2020a
Compatible with any release
Platform Compatibility
Windows macOS Linux