Я пытаюсь вызвать функцию Matlab в python через matlab.engine. Функция принимает один вход (число, соответствующее filenum) и выводит 4 массива matlab. В скрипте Python я пытаюсь взять эти 4 переменные и преобразовать их в массив Numpy, однако я получаю сообщение об ошибке:
ValueError: too many values to unpack (expected 4)
Исходная строка функций Matlab читается как:
function [out1,out2,out3,out4] = myfunc(filenum)
Я пробовал альтернативные методы, чтобы понять, почему это происходит. Интересно, что если я сохраню выходные данные функции matlab только в одной переменной, код работает нормально, но значение переменной не то, что мне нужно.
Вот весь соответствующий код (кроме самой функции matlab):
import matlab.engine
import numpy as np
eng = matlab.engine.start_matlab()
out1,out2,out3,out4 = eng.myfunc(101)
final1 = np.asarray(out1)
final2 = np.asarray(out2)
final3 = np.asarray(out3)
final4 = np.asarray(out4)
Прежде чем блок кода final1 ... может даже запуститься, я получаю сообщение об ошибке в строке, где я пытаюсь вызвать функцию.
Также я уверен, что функция Matlab работает и выводит 4 массива.