¿Por qué se basan los índices 1 de Matlab?

Probablemente la misma razón que Mathematica: porque algunos matemáticos no incluyen 0 en los números naturales y no indexan las cosas con 0 (de hecho, 0 a veces se usa como un índice limitante, como en “[matemáticas] \ {f_i \} \ to f_0 [/ math] “).

Es una pena porque hace que la manipulación del índice sea algo más confusa, si vienes de un entorno CS, pero para las personas de matemáticas, tiene mucho sentido, y no les importa lidiar con los “-1” adicionales por todo el lugar. Al menos, es más fácil para las personas de CS lidiar con índices extraños que para las personas de matemáticas que están atrapadas en sus formas lo suficiente como para preferir 1-based. Si está tratando de servir a ambas multitudes, es mejor que sea más fácil para las personas que lo pasarían mal.

Tengo más curiosidad por Lua. El usuario señala que los índices basados ​​en 1 vuelven a Fortran.

Es una buena pregunta, y la primera oración de Leif responde a la pregunta. Además, MATLAB está basado en columnas y los lenguajes C están basados ​​en filas. Así que ten cuidado. Este tipo de problemas, y pérdidas de memoria, son las razones por las que los vehículos de lanzamiento explotan en lugar de violar con éxito el espacio.