【发布时间】:2018-09-14 14:52:42
【问题描述】:
我无法理解线性索引适用的情况。
对于二维数组,看起来很直观:
>> clear x
>> x=[1 2;3 4]
x =
1 2
3 4
>> x([1 2])
ans =
1 3
>> x([1;2])
ans =
1
3
对于 3D 矩阵,看起来很直观:
>> clear y
>> y(1:2,1:2,1)=x
y =
1 2
3 4
>> y(1:2,1:2,2)=x+10
y(:,:,1) =
1 2
3 4
y(:,:,2) =
11 12
13 14
>> y([1 2])
ans =
1 3
>> y([1;2])
ans =
1
3
对于第一个二维是单例的 3D 矩阵,这不是我所期望的:
>> clear y
>> y(1,1,1)=1
y =
1
>> y(1,1,2)=2
y(:,:,1) =
1
y(:,:,2) =
2
>> y([1 2])
ans(:,:,1) =
1
ans(:,:,2) =
2
>> y([1;2])
ans(:,:,1) =
1
ans(:,:,2) =
2
我本来期望与没有单一维度的 3D 矩阵完全相同。
是否有可以依赖的规则来预测线性索引的行为?
【问题讨论】: