У меня есть следующий код
o = ones(4,3,2)
c = cellfun(@squeeze,num2cell(o,[2 3]), 'UniformOutput', false)
что дает, как и ожидалось, 4 ячейки, каждая из которых содержит матрицы 3x2.
Но если я уменьшу последнее измерение o до единицы, поведение будет совершенно не таким, как ожидалось:
o = ones(4,3,1)
c = cellfun(@squeeze,num2cell(o,[2 3]), 'UniformOutput', false)
Результат:
[1x3 double]
[1x3 double]
[1x3 double]
[1x3 double]
В то время как я ожидал бы:
[3x1 double]
[3x1 double]
[3x1 double]
[3x1 double]
Любая возможность, как получить правильный результат?