This is machine translation

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.

Translate This Page

MathWorks Machine Translation

The automated translation of this page is provided by a general purpose third party translator tool.

MathWorks does not warrant, and disclaims all liability for, the accuracy, suitability, or fitness for purpose of the translation.

Introducing MATLAB Engine API for C and Fortran

The MATLAB® C and Fortran engine library contains routines that allow you to call
MATLAB from your own programs, using MATLAB as a computation engine. Using the MATLAB engine requires an installed version of MATLAB; you cannot run the MATLAB engine on a machine that only has the MATLAB Runtime.

Engine programs are standalone programs. These programs communicate with a separate
MATLAB process via pipes, on UNIX® systems, and through a Microsoft® Component Object Model (COM) interface, on Microsoft
Windows® systems. MATLAB provides a library of functions that allows you to start and end the MATLAB process, send data to and from MATLAB, and send commands to be processed in MATLAB.

Some of the things you can do with the MATLAB engine are:

Call a math routine, for example, to invert an array or to compute an FFT from your
own program. When employed in this manner, MATLAB is a powerful and programmable mathematical subroutine library.

Build an entire system for a specific task. For example, the front end (user
interface) is programmed in C and the back end (analysis) is programmed in MATLAB.

The MATLAB engine operates by running in the background as a separate process from your own
program. Some advantages are:

On UNIX systems, the engine can run on your machine, or on any other UNIX machine on your network, including machines of a different architecture.
This configuration allows you to implement a user interface on your workstation and
perform the computations on a faster machine located elsewhere on your network. For more
information, see the engOpen reference
page.

Instead of requiring your program to link to the entire MATLAB program (a substantial amount of code), it links to a smaller engine
library.

The MATLAB engine cannot read MAT-files in a format based on HDF5. These MAT-files save
data using the -v7.3 option of the save function or
are opened using the w7.3 mode argument to the C or Fortran
matOpen function.

Note

To run MATLAB engine on the UNIX platform, you must have the C shell csh installed at
/bin/csh.

Communicating with MATLAB Software

On UNIX systems, the engine library communicates with the engine using pipes, and, if
needed, rsh for remote execution. On Microsoft
Windows systems, the engine library communicates with the engine using a Component
Object Model (COM) interface.