В этом примере показано, как создать массив MATLAB ® в Python ® и передать его в качестве входного аргумента в MATLABsqrt функция.
matlab предоставляет конструкторы для создания массивов MATLAB в Python. API MATLAB Engine для Python может передавать такие массивы в качестве входных аргументов функциям MATLAB и может возвращать такие массивы в качестве выходных аргументов Python. Можно создать массивы любого числового или логического типа MATLAB из типов последовательности Python.
Создание массива MATLAB из Python list. Позвоните в 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, который является 1 на 5 matlab.double массив.
Создайте многомерный массив. magic функция возвращает 2-D 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]