У меня есть тензор n × m × l в MATLAB, который я хочу превратить в матрицу n × m , сложив последнее измерение (в частности, добавив каждый скаляр).Как я могу эффективно сгибать / уменьшать последнее измерение каждой записи в этом тензоре? В более широком смысле, есть ли хороший способ применить произвольную функцию ко всему измерению тензора?
Если это помогает понять, конкретный тензор, который я имею, называется pixels
ипоследнее измерение равно l=3
и представляет значения R, G и B каждого пикселя, которые я хочу добавить для получения яркости.Следующее решение, которое я придумал, мучительно медленное:
cellfun( @(x) sum(x), num2cell( pixels, 3 ) )