Ответ 1
В моем выражении анонимной функции я не знаю, чтобы выбрать, какой вывод следует возвращать из функции с несколькими возможными выходными аргументами. Однако при оценке анонимной функции вы можете возвращать несколько выходов. Здесь приведен пример использования функции MAX:
>> data = [1 3 2 5 4]; %# Sample data
>> fcn = @(x) max(x); %# An anonymous function with multiple possible outputs
>> [maxValue,maxIndex] = fcn(data) %# Get two outputs when evaluating fcn
maxValue =
5 %# The maximum value (output 1 from max)
maxIndex =
4 %# The index of the maximum value (output 2 from max)
Кроме того, лучший способ справиться с конкретным примером, приведенным выше, состоит в том, чтобы фактически использовать функцию handle @ttest2
в качестве входа в CELLFUN, а затем получить несколько выходов непосредственно из CELLFUN:
[junk,probabilities] = cellfun(@ttest2,cellArray1,cellArray2);
В более новых версиях MATLAB вы можете заменить переменную junk
на ~
чтобы игнорировать первый выходной аргумент.