Python 尝试将MATLAB数组传递到numpy数组

Python 尝试将MATLAB数组传递到numpy数组,python,matlab,Python,Matlab,我试图通过Matlab.engine调用python中的Matlab函数。该函数接受一个输入(对应于filenum的数字)并输出4个matlab数组。在python脚本中,我尝试获取这4个变量并将其转换为numpy数组,但我得到一个错误: ValueError: too many values to unpack (expected 4) 原始Matlab函数行的内容如下: function [out1,out2,out3,out4] = myfunc(filenum) 我也尝试过其他方法,

我试图通过Matlab.engine调用python中的Matlab函数。该函数接受一个输入(对应于filenum的数字)并输出4个matlab数组。在python脚本中,我尝试获取这4个变量并将其转换为numpy数组,但我得到一个错误:

ValueError: too many values to unpack (expected 4)
原始Matlab函数行的内容如下:

function [out1,out2,out3,out4] = myfunc(filenum)
我也尝试过其他方法,看看为什么会发生这种情况。有趣的是,如果我只将matlab函数的输出存储在一个变量中,代码运行良好,但变量值不是我想要的值

以下是所有相关代码(matlab函数本身除外):

在决赛之前。。。代码块甚至可以在我尝试调用函数的那一行出现错误时运行

另外,我确信Matlab函数可以工作,它可以输出4个数组。

表示:

如果知道函数可以返回多个参数,请使用
nargout
参数指定输出参数的数量

然后给出了一个例子:

因此,您可能需要这样做

out1,out2,out3,out4 = eng.myfunc(101,nargout=4)
t = eng.gcd(100.0,80.0,nargout=3)
print(t)

(20.0, 1.0, -1.0)
out1,out2,out3,out4 = eng.myfunc(101,nargout=4)