Есть ли в Matlab оператор splat (или эквивалент)?

Если у меня есть массив (неизвестной длины до момента выполнения), есть ли способ вызвать функцию с каждым элементом массива в качестве отдельного параметра?

Например, так:

foo = @(varargin) sum(cell2mat(varargin));
bar = [3,4,5];
foo(*bar) == foo(3,4,5)

Контекст: У меня есть список индексов массива n-d, Q. Мне нужно что-то вроде Q(a,b,:), но у меня есть только [a,b]. Поскольку я не знаю n, я не могу просто жестко закодировать индексацию.

11
задан gnovice 7 May 2017 в 06:15
поделиться