Эта вышеприведенная функция get_outputs
может быть очень полезна для кратких анонимных функций. Очень хорошо.
Кроме того, в отношении комментария о том, что «if» нельзя использовать в MATLAB, это только частично верно. Идентичное поведение может быть легко реализовано анонимно. Например, анонимно, если:
anonymous_if = @(varargin) varargin{2*find([varargin{1:2:end}], 1, 'first')}();
Использование:
out = anonymous_if(condition1, action1, condition2, action2, ...);
Выполняется действие, соответствующее первому истинному условию. Например, это означает «привет».
anonymous_if(false, @() disp('hi'), ... % if false, print 'hi'
true, @() disp('hello')) % else if true, print 'hello'
Конечно, это немного сложно с первого взгляда, но я держу что-то вроде этого на своем пути, поэтому я могу использовать «if» в анонимной функции. Таким образом можно построить гораздо более сложные анонимные функции.