Use MATLAB Arrays in Python
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.
Create a MATLAB array in Python, and call a MATLAB function on it.
import matlab
from production_server import client
client_obj = client.MWHttpClient("http://localhost:9910")
x = matlab.double([1,4,9,16,25])
print(client_obj.myArchive.sqrt(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 sqrt 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.
a = client_obj.myArchive.magic(6)
print(a)
[[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]]
Call the tril function to get the lower
triangular portion of a.
b = client_obj.myArchive.tril(a)
print(b)
[[35.0,0.0,0.0,0.0,0.0,0.0],[3.0,32.0,0.0,0.0,0.0,0.0],
[31.0,9.0,2.0,0.0,0.0,0.0],[8.0,28.0,33.0,17.0,0.0,0.0],
[30.0,5.0,34.0,12.0,14.0,0.0],[4.0,36.0,29.0,13.0,18.0,11.0]]