Main Content

Call User Scripts and Functions from Python

This example shows how to call a MATLAB® script to compute the area of a triangle from Python®.

To call a MATLAB script or function, put it on your MATLAB path. For this example, create a MATLAB script in a file named triarea.m in your current folder.

b = 5;
h = 3;
a = 0.5*(b.* h)

After you save the file, start Python and call the script.

import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
a =

    7.5000

Specify nargout=0. Although the script prints output, it returns no output arguments to Python.

Convert the script to a function and call the function from the engine. To edit the file, open the MATLAB editor.

eng.edit('triarea',nargout=0)

Delete the three statements. Then add a function declaration and save the file.

function a = triarea(b,h)
a = 0.5*(b.* h);

Call the new triarea function from the engine.

ret = eng.triarea(1.0,5.0)
print(ret)
2.5

The triarea function returns only one output argument, so there is no need to specify nargout.

See Also

|

Related Topics