296 Introduction to C++ Programming and Graphics
//--- Matlab session:engEvalString(lva, "b");cout << buffer; // transfer back the matlab response//--- End the session:engClose(lva);return 0;
}The output of the code is:
>>
b=
5Two-dimensional graph
The following code contained in the filemplot2d.ccgenerates data and
prepares a two-dimensional plot usingMatlabgraphics functions:
#include <iostream>
#include "engine.h"
using namespace std;int main()
{//--- Define data:const short sdata = 5;
double x[sdata] ={0.0, 0.1, 0.5, 0.8, 0.9};
double y[sdata] ={0.0, 0.2, 0.3, 0.4, 0.42};//--- Start a Matlab session:Engine * iams = engOpen("matlab -nojvm");/*--- Reserve the array ‘‘hronos’’
Copy into memory
Transfer the data */mxArray * hronos = mxCreateDoubleMatrix(1, sdata, mxREAL);
memcpy((void *)mxGetPr(hronos), (void *)x, sizeof(x));