- 在大多数编程语言中(比如C语言),矩阵的下标是从零开始的。
因为在定义矩阵之后,内存会随机分配一个首地址给矩阵,并依据其大小分配连续的字节,对a[0]之后的存储地址直接计算偏移量即可,如N*偏移量;如果从a[1]开始,则需要增加一步减法,如(N-1)*偏移量,在矩阵维度更大时,更易体现C语言的高效率与便捷。
- MATLAB语言中,矩阵下标是从1开始的。
听过MATLAB创始人Cleve Moler的一个小讲座,他自己的说法是,"because of matrices"。因为MATLAB一开始就是为了矩阵计算创造出来的,所以index从1开始只是符合矩阵的常规……(源于知乎某答)。