Использование массивов 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]

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

Больше о

Была ли эта тема полезной?