MATLAB:如何从另一个函数访问函数的第n个输出

时间:2016-12-06 17:21:40

标签: arrays matlab function output multipleoutputs

如果我有一个功能:

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等...

1 个答案:

答案 0 :(得分: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的任何函数内完成。