This example shows how to use MATLAB® arrays in Python®.
The matlab
package provides new Python data
types to create arrays that can be passed to MATLAB functions.
The matlab
package can create arrays of any MATLAB numeric
or logical type from Python sequence types. Multidimensional MATLAB arrays
are supported. For a list of other supported array types, see Pass Data to MATLAB from Python (MATLAB).
Create a MATLAB array in Python, and call a MATLAB function
on it. Assuming that you have a package named mypackage
and
a method called mysqrt
inside the package, you
can use the following code to call that method:
import matlab import mypackage pkg = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pkg.mysqrt(x)) [[1.0,2.0,3.0,4.0,5.0]]
You can use matlab.double
to create an array
of doubles given a Python list that contains numbers. You can
call a MATLAB function such as mysqrt
on x
,
and the return value is another matlab.double
array.
Create a multidimensional array. The magic
function
returns a 2-D array to Python scope. Assuming you have method
called mysqrt
inside mypackage
,
you can use the following code to call that method:
import matlab import mypackage pkg = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pkg.mymagic(6)) [[35.0,1.0,6.0,26.0,19.0,24.0],[3.0,32.0,7.0,21.0,23.0,25.0], [31.0,9.0,2.0,22.0,27.0,20.0],[8.0,28.0,33.0,17.0,10.0,15.0], [30.0,5.0,34.0,12.0,14.0,16.0],[4.0,36.0,29.0,13.0,18.0,11.0]]