Tom*_*han 12 arrays matlab matrix multidimensional-array n-dimensional
我在MATLAB中有一个3D数组,有size(myArray) = [100 100 50].现在,我想以2D矩阵的形式获得由第一维中的索引指定的特定层.我试过了myMatrix = myArray(myIndex,:,:);,但这给了我一个3D数组size(myMatrix) = [1 100 50].
我如何告诉MATLAB我对第一维不感兴趣(因为只有一层),所以它可以简化矩阵?
注意:我还需要使用第二个索引来执行此操作,size(myMatrix) = [100 1 50]而不是所需的渲染[100 50].解决方案应该适用于两种情况,并且优选地适用于第三维.
abc*_*bcd 14
使用此squeeze功能可删除单个尺寸.
例:
A=randn(4,50,100);
B=squeeze(A(1,:,:));
size(B)
ans =
50 100
Run Code Online (Sandbox Code Playgroud)
这是一般化的,您无需担心要编入索引的维度.所有单件尺寸都被挤出.