Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

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, enter the following command at the MATLAB prompt:

!matlab -regserver

See MATLAB COM Integration for additional details.

Examples

See the following 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.

Was this topic helpful?