Quantcast

Documentation Center

  • Trial Software
  • Product Updates

engOpen (C and Fortran)

Start MATLAB engine session

C Syntax

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

Fortran Syntax

mwPointer engOpen(startcmd)
character*(*) startcmd

Arguments

startcmd

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

Returns

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

Description

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, on the command line you can enter the command:

!matlab /regserver

See MATLAB COM Integration for additional details.

Examples

See the following examples in matlabroot/extern/examples/eng_mat.

Was this topic helpful?