Calling MATLAB from Python
The MATLAB Engine API for Python provides a package for Python to call MATLAB as a computational engine. The engine supports the reference implementation (CPython). MATLAB supports versions 2.7, 3.7, 3.8, and 3.9. For more information, see Versions of Python Compatible with MATLAB Products by Release.
Engine applications require an installed version of MATLAB; you cannot run the MATLAB engine on a machine that only has the MATLAB Runtime.
What you need to write and build MATLAB engine applications for Python.
To start the MATLAB engine within a Python session, you first must install the engine API as a Python package.
By default, the installer builds the engine API for Python in the
folder. If you install in another folder, update the
PYTHONPATH environment variable.
The MATLAB Engine API for Python provides a Python package
matlab that enables you to call MATLAB functions
Options for starting the MATLAB Engine for Python.
How to return an output argument from a MATLAB function. How to read multiple outputs from a function. What to do when the MATLAB function does not return an output argument.
From Python, you can access supporting documentation for all MATLAB functions.
How to connect the MATLAB Engine for Python to a shared MATLAB session that is already running on your local machine.
Using MATLAB Workspace
This example shows how to add variables to the MATLAB engine workspace in Python.
Data Exchange and Mapping
This example shows how to create a MATLAB array
in Python and pass it as the input argument to the MATLAB
matlab Python package provides array
classes to represent arrays of MATLAB numeric types as Python variables
so that MATLAB arrays can be passed between Python and MATLAB.
When you pass Python data as input arguments to MATLAB functions, the MATLAB Engine for Python converts the data into equivalent MATLAB data types.
When MATLAB functions return output arguments, the MATLAB Engine API for Python converts the data into equivalent Python data types.
This example shows how to create an object from a MATLAB handle class and call its methods in Python.
MATLAB stores all numeric values as double-precision floating point numbers by default.
Calling MATLAB Functions
This example shows how to call a MATLAB script to compute the area of a triangle from Python.
This example shows how to sort data about patients into lists of smokers and nonsmokers in Python and plot blood pressure readings for the patients with MATLAB.
This example shows how to call the MATLAB
asynchronously from Python and retrieve the square root later.
This example shows how to redirect standard output and standard
error from a MATLAB function to Python