为什么矩阵是[行,列]而不是[列,行]?

为了简单起见,我将coloumn称为col。 为什么矩阵是[行,列]而不是[列,行]? 这只是让我头疼和困惑。

我的想法是这样的: 1.常规数组

[1,3,5,2,4] 

就像一个具有一行和多个列的矩阵。它像这样标记:arr [n] 因此,如果我们有另一个维度,

[1,4]
[1,6,6]

现在有行。因此,让我们在'n',arr [n,rows]之后注释行 但是现实向我们展示了相反的情况。

  1. 此外,二维矩阵可以看做是笛卡尔坐标系(y轴的方向翻转了,原点是元素[0,0])。在飞机上,我们标记这样的点:(X,Y)。 看起来cols位于x轴上,行位于y轴上,所以为什么不这样标注矩阵元素:[Cols,Rows]?

对不起,如果我让您感到困惑,对您的无知表示歉意。

wang19898312as 回答:为什么矩阵是[行,列]而不是[列,行]?

IMO,这受拉丁印刷约定的约束。

拉丁文从左到右,然后从上到下书写。 遵循这些约定,将Matrix分解为nRow行。 然后将每一行分解为nColum元素,就像将句子中的文本分解为单词中的句子一样。

因此,信息的排列方式是最重要的(行)和最不重要的(列)。

遵循与拉丁文(err Arabic)数字表示法相同的约定,我们在左侧具有最高有效的nRow(如果您是拉丁文,则为第一),在右侧具有最低有效的nColumn,因此(nRow,nColumn)用于描述布局。

自然地,访问第iRow行和第jCol列的单个元素遵循相同的约定(iRow,jCol)。

请注意,底层软件中的信息安排可能完全不同。例如,对于FORTRAN和Matlab中的多维数组,第一个索引首先变化,并且内存中的序列为x(1,1)x(2,1)x(3,1)... x(1,2 )x(2,2)x(3,2)...如果我们认为left(first)是行索引,right(last)是列索引,则按列顺序排序。也许某些优化的库将为矩阵安排块布局。

本文链接:https://www.f2er.com/2652161.html

大家都在问