matlab中挤压函数的行为

时间:2014-05-23 15:32:24

标签: matlab matrix

我正在玩挤压功能(matlab 2013b)并且对它的行为感到困惑。

a(:,:,1)=[1 2 3];
a(:,:,2)=[4 5 6];
a(:,:,3)=[7 8 9];
a(:,:,4)=[10 11 12];
sa = squeeze(a);

b(:,:,1)=[1;2;3];
b(:,:,2)=[4;5;6];
b(:,:,3)=[7;8;9];
b(:,:,4)=[10;11;12];
sb=sqeeuze(b)

我希望sa为4 * 3,sb为3 * 4,sa为transpose(sb)。由于每个"层" a是行向量,而每个"层" b是列向量。但实际上sa与sb相同。

我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:3)

挤压的定义非常简单,删除单个尺寸。 a的大小为[1,3,4],删除了您获得的单个维度[3,4]。 b的大小为[3,1,4],迫使你获得[3,4]

如果挤压不符合您的要求,请查看reshapepermute