我有一个Matlab函数,它返回可变数量的结果。在Matlab中,我以如下方式调用它
>> [A, B] = func(C);当我使用mlab在Python语言中包装这个调用时,我只得到了A
>>> result = mlab.func(C)可以预见,Python端的模式匹配(即[A, B] = mlab.func(C))是无效的。
如何从mlab获取所有返回值?我是不是遗漏了一些低级API?
发布于 2013-11-19 01:21:06
您可以阅读本教程https://pypi.python.org/pypi/mlab。在参数部分添加nout字段后,可以得到多个结果。
数组(
([1,2,1,3]))
数组([ 3.86432845,0.25877718])
请注意,我们只返回了'U‘--这是因为python没有得到类似于Matlab的多值返回。由于Matlab函数可能具有完全不同的行为,这取决于请求的输出参数的数量,因此如果需要大于1,则必须显式指定。因此,要获得'U‘以及'S’和'V‘,您可以这样做:
U,S,V= mlab.svd([1,2,1,3],nout=3)
https://stackoverflow.com/questions/19578334
复制相似问题