Main Content

engOpen (Fortran)

Start MATLAB engine session

Fortran Syntax

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


engOpen starts a MATLAB® process for using MATLAB as a computational engine.

Windows Platforms

engOpen launches MATLAB without a desktop. The function opens a COM channel to MATLAB. The MATLAB software you registered during installation starts. If you did not register during installation, then see Register MATLAB as a COM Server.

UNIX Platforms

On UNIX® systems, engOpen:

  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).

Input Arguments

expand all

MATLAB startup command, specified as character*(*).

On Windows® systems, the startcmd string must be NULL.

On UNIX systems:

  • If startcmd is NULL or the empty string, then engOpen starts a MATLAB process on the current host using the command matlab. If startcmd is a hostname, then 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), then MATLAB executes the string literally.

Output Arguments

expand all

Handle to MATLAB engine, specified as mwPointer. Returns NULL if the open fails.


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

Introduced before R2006a