Если в этом нет острой необходимости, я бы, вероятно, посоветовал против этого.Понятность вашего кода пострадает.Хранение выходных данных во временных переменных и последующая передача этих переменных в другую функцию сделает ваш код чище, и различные способы, которыми вы могли бы сделать это, описаны здесь: Как элегантно игнорировать некоторые возвращаемые значения функции MATLAB? .
Однако, если вы действительно хотите или должны это сделать, единственный возможный способ, которым я могу придумать, - это создать собственную функцию secondreturnvalue
.Вот более общий пример с именем nth_output
:
function value = nth_output(N,fcn,varargin)
[value{1:N}] = fcn(varargin{:});
value = value{N};
end
И вы бы назвали его, передав в качестве входных данных 1) желаемый номер выходного аргумента, 2) дескриптор функции to myfunc
и 3) любые входные аргументы, которые нужно передать myfunc
:
abs(nth_output(2,@myfunc,x))