0

第一个维度是否始终是 Y 维度(垂直维度),而第二维度是指 X 维度(水平维度)?有什么例外吗?

4

2 回答 2

4

没有例外。

唯一的微妙之处是,如果您只指定 1 个索引(例如x(10)),那么它指的是整体上的第 10 个元素,而不是维度 1 中的第 10 个元素。所以您有一个size(x)=[2 10],那么x(10) == x(2,5)

于 2013-06-13T14:29:01.917 回答
1

您需要记住两件事:

  • MATLAB 始终沿第一个非单一维度运行
  • 在矩阵中,第一个维度是沿行,第二个维度是沿列

在这个原则范围内,数组索引。

另一个例子,如果你有一个向量(滥用符号):

sum(reshape(1:3,[1,1,3])) == sum(1:3) == sum((1:3)')

如果你有一个矩阵:

sum([1 2; 3 4]) ~= sum([1 2; 3 4],2)

即沿行求和(也称为按列求和)不同于沿列求和(也称为按行求和)。

于 2013-06-13T14:31:31.447 回答