There are many ways to call MATLAB from C++ depending on your needs. Many similar questions have been asked here in the past and I will refer to those and as well give you a solution as your requirement seems to be different.
- Do you want MATLAB C or C++ API? Then use
mex
functions described here, here, here and the actual MATLAB documentation
- Do you want to convert your MATLAB program to C++? Then use MATLAB Coder described here, here and here
- Do you want to run a MATLAB script from within C++? Then call MATLAB Engine or write a shell script and have that called from C++ described here and here
Your problem falls under the third category. So you need to either call MATLAB engine (See Tal Darom's answer) or write a shell script. I will explain the latter. Lets write a shell script called matlab_script.sh
:
#/bin/sh
matlab -nodisplay -nojvm -nosplash < your_matlab_file.m
then in your C++ code do this:
system("matlab_script.sh");
You need matlab_script.sh
to be executable. Under linux you normally do chmod +x matlab_script.sh