Использование массивов MATLAB в Python

В этом примере показано, как создать массив MATLAB® в Python® и передать его как входной параметр к sqrt MATLAB функция.

matlab пакет обеспечивает конструкторов, чтобы создать массивы MATLAB в Python. API MATLAB Engine для Python может передать такие массивы как входные параметры к функциям MATLAB и может возвратить такие массивы как выходные аргументы Python. Можно создать массивы любого MATLAB числовой или логический тип от типов последовательности Python.

Создайте массив MATLAB из list Python. Вызовите sqrt функция на массиве.

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]]

Механизм возвращает b, который является matlab.double 1 на 5 массив.

Создайте многомерный массив. magic функция возвращает 2D matlab.double массив к Python. Используйте for цикл, чтобы распечатать каждую строку на отдельной линии. (Нажмите Enter снова, когда вы будете видеть ... подсказка, чтобы замкнуть круг и печать.)

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]

Вызовите tril функция, чтобы получить нижний треугольный фрагмент a. Распечатайте каждую строку на отдельной линии.

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]

Связанные примеры

Больше о