Contenido principal

Llamar a MATLAB desde C

Ejecute código de MATLAB® desde programas de C utilizando mxArray

Las aplicaciones del motor son programas que permiten llamar a MATLAB desde sus propios programas de C/C++ usando MATLAB como motor de cálculo. Para crear una aplicación del motor de C, llame a la función mex.

Nota

Se recomienda utilizar la API del motor de MATLAB para C++ en lugar de la API del motor para C. La API del motor de MATLAB para C++ incluye funcionalidades de C++ moderno para escribir aplicaciones de motor. Para obtener más información, consulte Llamar a MATLAB desde C++. No se prevé eliminar la API del motor para C.

Las aplicaciones del motor requieren una versión instalada de MATLAB; no es posible ejecutar el motor de MATLAB en un equipo que solo tenga MATLAB Runtime.

Para crear una aplicación del motor de C, necesita:

  • Experiencia en la escritura de código fuente C. Puede crear archivos de código fuente C utilizando la API del motor para C y funciones de API para manipular matrices en C.

  • Un compilador compatible con MATLAB. Para obtener una lista actualizada de compiladores compatibles, consulte Compiladores compatibles.

  • Utilice el script de compilación mex con la opción -client engine.

API del motor para C

EngineType for MATLAB engine
engOpenStart MATLAB engine session
engOpenSingleUseStart MATLAB engine session for single, nonshared use
engCloseQuit MATLAB engine session
engEvalStringEvaluate expression in string
engGetVariableCopy variable from MATLAB engine workspace
engPutVariablePut variable into MATLAB engine workspace
engGetVisibleDetermine visibility of MATLAB engine session
engSetVisibleShow or hide MATLAB engine session
engOutputBufferSpecify buffer for MATLAB output

Temas

Requisitos

Escribir aplicaciones del motor

Crear y ejecutar aplicaciones de motor

Solución de problemas

Can't Start MATLAB Engine

What to do when MATLAB engine does not run.

Debug MATLAB Function Called by C Engine

How to verify MATLAB functions used in engine applications.

User Input Not Supported

Some MATLAB functions that interact with the user are not supported in engine applications.

Multithreaded Applications

MATLAB libraries are not thread-safe.