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