从理论上讲,MATLAB数组具有无限个尾随单调维。
因此1x10
数组实际上是1x10x1x1x1...
数组。我想MATLAB只是隐藏了尾随的单例尺寸。
您可以通过以下代码段观察这种行为:
permute([1:10],[2,1,4,3])
MATLAB处理第3维和第4维,即使是一维数组也没有问题。
但是MATLAB为什么不在第二维中隐藏尾随的单例维?
size(rand(10,1))
给予:
ans =
10 1
size(rand(10,1,1))
还给出:
ans =
10 1
是因为MATLAB针对线性代数进行了优化吗?那么,这仅仅是一个约定吗?