File Exchange

image thumbnail

EnergyPlus Co-simulation Toolbox

version (3.51 MB) by Jiri Dostal
Co-simulation of EnergyPlus models in Matlab/Simulink.


Updated 07 Dec 2018

View License on GitHub

The toolbox facilitates simultaneous simulation of EnergyPlus and Matlab (co-simulation). The main component is the mlep class containing all the necessary tools to configure and run EnergyPlus co-simulation within the Matlab environment.

System Requirements
* Windows. The toolbox has only been tested for Windows, but considerable preparations for other OS has already been done.
* EnergyPlus installed. You can obtain the software here If you install the EnergyPlus to the default location ('C:\EnergyPlusVx-x-x') then it might be detected automatically by the toolbox.

* Download and install the toolbox binary from or Mathworks FileExchange.

The toolbox contains:

* Parsing of the IDF file to determine co-simulation inputs/outputs.
* Automatic socket communication configuration (on localhost).
* Background start of the EnergyPlus process with an output to the Matlab command line.
* System Object implementation usable in Matlab & Simulink.
* Bus input/output integration for easy Simulink model setup.

See the GettingStarted.mlx guide delivered with the Matlab toolbox or the documentation residing under Help -> Supplemental Software -> EnergyPlus co-simulation toolbox

Copyright (C) 2018, Jiri Dostal (
All rights reserved.

This software builds on the free software by Truong Nghiem(, Willy Bernal ( and several other third-party open-source tools.

Cite As

Jiri Dostal (2018). EnergyPlus Co-simulation Toolbox (, GitHub. Retrieved .

Comments and Ratings (1)

Jiri Rehor


* corrected a bug in the setup routine. Made first time use through Simulink end in a neverending loop.
* extended communication timeouts to accommodate for larger EP simulations


Added better documentation


### Added
* Load and Save routines.

### Changed
* Bus objects are now loading in the Init function callback. It should solve
the '_Missing Bus objects_' issues.
* Optimized IDF file parsing speed.
* Initialization no longer triggered fro

* compatibility issues in r18b

forgot to add the update binary


* using Matlab's internal JRE instead of searching for external one.


* Bus objects now support signal names longer than 63 characters.
* Simulation and initialization are now considerably faster.
* A Vector to Bus block added.
* Browse buttons in the Simulink block mask.


Adding the binary to the repository code. Hopefully, the Matlab Add-on Explorer will detect it now.


Adding further info. Mainly for manual toolbox installation (The binary is obtainable at GitHub)

MATLAB Release Compatibility
Created with R2018a
Compatible with R2017a to any release
Platform Compatibility
Windows macOS Linux

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor