Как я могу получить доступ к обоим аргументам ismember
, когда он используется внутри splitapply
?
slitapply
возвращает только скалярные значения для каждой группы, поэтому для вычисления нескалярных значений для каждой группы (как возвращается первым аргументом ismemebr
) необходимо заключить анонимную функцию (в данном случае ismember
) в фигурные скобки {}
, чтобы вернуть массив ячеек.
Но теперь, когда я предоставляю два выходных аргумента splitapply
, я получаю сообщение об ошибке:
Output argument "varargout{2}" (and maybe others) not assigned during call to
"@(x,y) {ismember(x,y)}"
ДОБАВИТЬ 1
Я могу создать другую функцию, скажем, ismember2cell
, которая будет применять ismember
и превращать выходные данные в массивы ячеек:
function [a, b] = ismember2cell(x,y)
[a,b] = ismember(x,y);
a = {a};
b = {b};
end
но, возможно, есть решение, которое не требует этого обходного пути.