This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

engOpen (C and Fortran)

Start MATLAB engine session

C Syntax

#include "engine.h"
Engine *engOpen(const char *startcmd);

Fortran Syntax

#include "engine.h"
mwPointer engOpen(startcmd)
character*(*) startcmd



String to start the MATLAB® process. On Windows® systems, the startcmd string must be NULL.


Pointer to an engine handle, or NULL if the open fails.


This routine allows you to start a MATLAB process for using MATLAB as a computational engine.

engOpen starts a MATLAB process using the command specified in the string startcmd, establishes a connection, and returns an engine pointer.

On UNIX® systems, if startcmd is NULL or the empty string, engOpen starts a MATLAB process on the current host using the command matlab. If startcmd is a hostname, engOpen starts a MATLAB process on the designated host by embedding the specified hostname string into the larger string:

"rsh hostname \"/bin/csh -c 'setenv DISPLAY\ 
	hostname:0; matlab'\""

If startcmd is any other string (has white space in it, or nonalphanumeric characters), MATLAB executes the string literally.

On UNIX systems, engOpen performs the following steps:

  1. Creates two pipes.

  2. Forks a new process. Sets up the pipes to pass stdin and stdout from MATLAB (parent) software to two file descriptors in the engine program (child).

  3. Executes a command to run MATLAB software (rsh for remote execution).

On Windows systems, engOpen opens a COM channel to MATLAB. The MATLAB software you registered during installation starts. If you did not register during installation, enter the following command at the MATLAB prompt:

!matlab -regserver

See MATLAB COM Integration for additional details.


See these examples in matlabroot/extern/examples/eng_mat:

  • engdemo.c for a C example on UNIX operating systems.

  • engwindemo.c for a C example on Microsoft® Windows operating systems.

  • fengdemo.F for a Fortran example.

Introduced before R2006a