0

如果我有一个功能:

function [out1,out2,...] = functionName[in1,in2]
function code here
end

还有另一个功能

function[newout1,newout2] = newfunctionName[in1,in2]
[newout1]=out1+out2;
[newout2]=out2+out3;

我该如何调用各种输出,out1、out2、out3 等...

4

1 回答 1

0

我不太明白您所说的“调用各种输出、out1、out2、out3 等”是什么意思,但要回答标题的问题,

为了访问任何函数的第 n 个输出,您必须首先在该函数的名称上调用nargout,然后将其输出插入到预先分配大小的单元格中。下面的示例代码,

n = 5;
nout = abs(nargout('functionName'));
if n>nout
    error(['n must be lower or equal than ',num2str(nout)])
end
out = cell(1,n);
[out{:}] = functionName(in1,in2);
nth_output = out{n};

这可以functionName在其路径中的任何函数内完成。

于 2016-12-06T18:39:04.510 回答