我有以下代码
o = ones(4,3,2)
c = cellfun(@squeeze,num2cell(o,[2 3]), 'UniformOutput', false)
这给出了预期的 4 个单元格,每个单元格包含 3x2 矩阵。
但是,如果我将 o 的最后一个维度减少到 1,则行为完全不像预期的那样:
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]
任何可能如何获得正确的结果?