2017-09-13 143 views
-3

在数学中,为了表示水平轴,我们有x坐标,并且表示垂直我们有y坐标。即(X,Y)。为什么编程中的坐标系与数学不同?

编程时,系统翻转。

I.e.

int[] array = new int [3,5]; 

这里,数组有3行5列,而不是3列5行。 作为一名来自数学的完全新手程序员,这让我的脑子旋转了几次。

传统的这种差异是完全武断的,还是有理由翻转系统使其更好?

+2

它甚至不是同一个在所有的编程语言,谷歌“行优先”和“列为主”,并期待在语言,如FORTRAN 。 –

+0

(什么保罗说!)它继续[零基索引](https://en.wikipedia.org/wiki/Zero-based_numbering)主要使用的所有语言,但不是Matlab或朱莉娅。对于行主专栏,这里有一些不错的[blog-post](http://eli.thegreenplace.net/2015/memory-layout-of-multi-dimensional-arrays/)(我只通过它浏览) SO用户之一。 – sascha

+0

二维数组远比笛卡尔平面更像矩阵,矩阵使用相同的约定。 – user2357112

回答

0

它根本没有剂量现在的坐标。从程序员的角度来看,它只是一个指向另一个数组的指针数组。

0

因为具有5×1矩阵的3×5矩阵的乘积是3×1矩阵。

[3×5]·[5×1]=[3×1] 

内部尺寸为矩阵乘积的这种收缩是足够重要的是,它决定索引的顺序。

当然,对索引的解释取决于应用程序,如果使用数组来存储空间数据,则可以使用您给出的顺序。

0

在数学上,我们有负轴,其中在浏览器中,我们没有一点负面

相关问题