在Matlab中返回数组的大小

时间:2013-12-13 18:31:41

标签: matlab

我很困惑Matlab如何返回数组的大小。看看这个:

a = zeros(2,100,10);
b = a(1,:,:);
size(b)

ans =
    1   100    10

我相信答案应该是

        100    10

有没有一种简单的方法来解决这个问题?

1 个答案:

答案 0 :(得分:5)

Matlab只删除拖尾单例尺寸,否则(1,:,:)将是2D和(1:2,:,:) 3D,这可能会非常混乱。

尝试squeeze,它会删除所有单例维度。

a = zeros(2,100,10);
b = squeeze(a(1,:,:));
size(b)

ans =

   100    10