A meno che non vi sia un bisogno urgente di farlo, probabilmente sconsiglio di farlo. La chiarezza del tuo codice ne risentirà. Memorizzare le uscite in variabili temporanee e passare queste variabili a un'altra funzione renderà il tuo codice più pulito, e i diversi modi in cui potresti farlo sono qui delineati: How to elegantly ignore some return values of a MATLAB function?.
Tuttavia, se si desidera o è necessario effettuare , l'unico modo possibile che posso pensare sarebbe creare la propria funzione secondreturnvalue
. Ecco un esempio più generale chiamato nth_output
:
function value = nth_output(N,fcn,varargin)
[value{1:N}] = fcn(varargin{:});
value = value{N};
end
E si chiamerebbe passando come ingressi 1) il numero di argomento di output desiderato, 2) un function handle per myfunc
, e 3) tutto ciò argomenti di input è necessario passare a myfunc
:
abs(nth_output(2,@myfunc,x))
Che dire di usare una classe invece di una funzione con i corrispondenti metodi 'getter'. Si potrebbe ottenere qualcosa come abs (myfunc.secondReturnValue (x)). – zellus
Inviando questa opzione come richiesta di pseudo-funzione a MathWorks. –