Main Content

Utilizar arreglos de MATLAB en Python

Este ejemplo muestra cómo crear un arreglo de MATLAB® en Python® y pasarlo como argumento de entrada a la función de MATLAB sqrt.

El paquete matlab proporciona constructores para crear arreglos de MATLAB en Python. La API del motor de MATLAB para Python puede pasar esos arreglos como argumentos de entrada a las funciones de MATLAB, y puede devolver los arreglos como argumentos de salida de Python. Puede crear arreglos de cualquier tipo numérico o lógico de MATLAB, a partir de tipos de secuencia de Python.

Cree un arreglo de MATLAB desde una list de Python. Llame a la función sqrt en el arreglo.

import matlab.engine
eng = matlab.engine.start_matlab()
a = matlab.double([1,4,9,16,25])
b = eng.sqrt(a)
print(b)
[[1.0,2.0,3.0,4.0,5.0]]

El motor devuelve b, que es un arreglo matlab.double de 1 por 5.

Cree un arreglo multidimensional. La función magic devuelve un arreglo 2D matlab.double a Python. Utilice un bucle for para imprimir cada fila en una línea independiente. (Vuelva a pulsar Enter cuando vea la línea de comandos ... para cerrar el bucle e imprimir).

a = eng.magic(6)
for x in a: print(x)
... 
[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]

Llame a la función tril para obtener la parte triangular inferior de a. Imprima cada fila en una línea independiente.

b = eng.tril(a)
for x in b: print(x)
... 
[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]

Ejemplos relacionados

Más acerca de