Programming and Graphics

(Kiana) #1

9.3 TheMatlabengine functions 291


whereepis a chosen pointer name. This declaration illustrates thatEngineis
a defined class.


Starting aMatlabsession


To start aMatlabsession identified by the pointerep, we state:

ep = engOpen("matlab");

The launching command matlabcan be replaced by any other string that
invokesMatlabwith options. For example, to suppress the graphical user
interface, we use:


ep = engOpen("matlab -nodesktop");

Equivalently, we can state:


char mstart[] = "matlab";
ep = engOpen(mstart);

In a third method, we explicitly use a pointer:


string invoke[] = "matlab";
char * pnt = invoke;
ep = engOpen(pnt);

Terminating aMatlabsession


To terminate theMatlabsession, we issue the statement:

engClose(ep);

The functionengClosereturns an integer.


Establishing a buffer


C++ has access to a character buffer that records the standard output
ofMatlab, that is, it records output that ordinarily appears on the screen.


To establish this buffer, we select its size, declare a dedicated character
string, and attach the character string to theMatlabsession by issuing the
commands:


const int Bufsize = 256;
char Bufname[];
Free download pdf