Преобразуйте эффективно сложные массивы двигателя Matlab в numpy ndarray - PullRequest
1 голос
/ 30 января 2020

После ответа в Как эффективно преобразовать массивы движка Matlab в numpy ndarray? , доступ к массиву движка matlab через свойство _data представляется гораздо более эффективным. Однако, похоже, что свойства _data нет, когда массив, возвращаемый Matlab, является «сложным одиночным». Существует ли эквивалентный быстрый доступ к массиву комплексных чисел?

1 Ответ

0 голосов
/ 30 января 2020

Возможный обходной путь - вернуть из Matlab два реальных массива (один содержит действительную часть, а другой - мнимую часть) и построить комплексное значение в Python

M_real, M_imag = myMatlabFunction()
M_real_np = np.array(M_real._data)
M_imag_np = np.array(M_imag._data)
M_np = M_real_np + M_imag_np*np.complex(0,1)

Тогда мы сможем получить прибыль из быстрого доступа к элементу _data каждого массива.

Мне все еще интересно более простое решение.

...