首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mlabwrap实现多个输出

使用mlabwrap实现多个输出
EN

Stack Overflow用户
提问于 2013-10-25 07:09:15
回答 1查看 161关注 0票数 0

我有一个Matlab函数,它返回可变数量的结果。在Matlab中,我以如下方式调用它

代码语言:javascript
复制
>> [A, B] = func(C);

当我使用mlab在Python语言中包装这个调用时,我只得到了A

代码语言:javascript
复制
>>> result = mlab.func(C)

可以预见,Python端的模式匹配(即[A, B] = mlab.func(C))是无效的。

如何从mlab获取所有返回值?我是不是遗漏了一些低级API?

EN

回答 1

Stack Overflow用户

发布于 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)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19578334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档