gpt4 book ai didi

matlab - 如何获得所有输出(MatLab)?

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:22 24 4
gpt4 key购买 nike

假设我有一个函数给出未知数量的输出参数(它取决于输入,因此通过循环改变)。如何获得所有这些?

nargout 没有帮助,因为该函数使用 varargout(结果为 -1)

当然我不能重写函数,否则问题不会出现:-)

最佳答案

好的,感谢所有参与讨论的人。综上所述,这个问题似乎没有通用的解决方案,因为 MatLab 本身会在函数调用之前估计所需输出的数量以在其内部使用。不过可以指出三种情况:

1) 函数在定义中没有varargout,因此nOut=nargout(@fcn)返回正数。

然后 nOut 是输出的实际数量,我们可以使用元胞数组和列列表技巧。

X=cell(1,nOut);
[X{:}]=fcn(inputs);

2) 函数定义了varargout,因此nOut=nargout(@fcn)返回负数。然而,可以找到与输入的一些相关性(如 length(varargin)=length(varargout))。

然后我们可以从 inputs 计算结果 nOut 并执行上面的列列表技巧。

3) 你认识 fcn 开发者。

向他寻求帮助。例如,使函数的输出成为元胞数组。

关于matlab - 如何获得所有输出(MatLab)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com