MATLAB¶
Prerequisites¶
Install SWIG with MATLAB
./configure --prefix=/Users/$USER/local/swig_install; make; make install;
Ensure that SWIG and MATLAB are in the PATH
Building HELICS with MATLAB extension¶
HELICS can be built with the MATLAB extension by enabling the BUILD_MATLAB_INTERFACE
option in cmake
HELICS will also need to know the location of swig with MATLAB that was built.
It can also be built without that version of swig using existing files in the repo, but this will not work if there are any library changes. After installing the mex file will be placed in the matlab folder of the install directory.
Build SWIG MATLAB source¶
cd ~/GitRepos/GMLC-TDC/HELICS/swig/
mkdir matlab
swig -I../src/helics/shared_api_library -outdir ./matlab -matlab ./helicsMATLAB.i
mv helics_wrap.cxx matlab/helicsMEX.cxx
Compile MATLAB extension¶
cd ~/GitRepos/GMLC-TDC/HELICS/swig/
mex -I../src/helics/shared_api_library ./matlab/helics_wrap.cxx -lhelicsSharedLib -L/path/to/helics_install/lib/helics/
mv helicsMEX.* matlab/
Test HELICS MATLAB extension¶
Run the following in two separate windows.
matlab -nodesktop -nosplash
cd ~/GitRepos/GMLC-TDC/HELICS-examples/matlab/pi-exchange
pisender
The pisender starts a broker so it may work slightly better to start that process first.
matlab -nodesktop -nosplash
cd ~/GitRepos/GMLC-TDC/HELICS-examples/matlab/pi-exchange
pireceiver