Этот пример показывает, как создать массив 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]