Pourquoi ne matlab ont 1 l'indexation en fonction de

J'ai utilisé pour programmer en Java et Python plus tôt, mais ont récemment commencé à utiliser MATLAB pour beaucoup de choses (plus précisément la vision par ordinateur les algorithmes).

Cependant MATLAB est l'indexation des tableaux commençant à partir de 1 au lieu de 0, ce qui est la norme dans presque tous les langages de programmation que j'ai rencontré jusqu'à présent.

La raison de 0 basée sur l'indexation fait sens pour moi était comme ça:
Dans chaque processeur, j'ai vu, l'adresse de l'index commence à 0 x 00000000 dire dans un 8-bits processeur et Si je veux enregistrer les 5 numéros, ils devraient être stockées dans l'adresse 0x00000000 à 0x00000004 . Par conséquent, il est logique d'avoir indexation à partir de 0 dans les langages de programmation.

Alors que j'étais à la recherche pour cette question j'ai trouvé Liste des 1 indexés sur les langages de programmation? et http://en.wikipedia.org/wiki/Comparison_of_programming_languages_(tableau) être utile.

Pour moi il n'est pas très pratique de la notation, peut-être parce que j'ai utilisé le code dans d'autres langues avant. Mais je ne comprends toujours pas pourquoi MATLAB (et même Julia maintenant) a 1-tableau de base de l'indexation et les avantages qu'il offre. Peut-on liste les avantages?

MAT(rix) LABORATOIRE(oratoire) suit généralement les mathématiques/algèbre linéaire conventions, pas l'informatique conventions. Avec des matrices le premier élément, c'est à dire celui dans le coin en haut à gauche, est l' (1,1) élément, de ne pas le (0,0) de l'élément, donc 1 en fonction de l'indexation, pas de 0 basée sur l'indexation.
Je crois que cela a à voir avec MATLAB original fondements d'être écrit en Fortran, qui dispose également de 1 à base d'indexation. Cette question a été battu à mort sur Usenet, de sorte Googler il devrait révéler plus de détails. De toute façon, je vais voter pour fermer comme avis, dès lors que la vraie réponse réside dans Cleve Moler la tête. Même si quelqu'un était de produire une référence comme pourquoi c'est le cas, la question est encore hors-sujet pour. En attendant, si vous allez utiliser MATLAB, de s'habituer à elle et de traiter avec elle; c'est ce que le reste d'entre nous l'ont fait.
Dans une liste de nombres, disons 45, 17, 94, 37, je pense que le premier nombre de la liste que 45. Parler du numéro zéro a pour moi aucun sens sur le plan conceptuel. Pour cette seule raison que j'aime bien 1 en fonction de l'indexation. Comme Phil l'a dit, ce qui reflète la notation mathématique, qui est le premier (?) utilisation prévue pour Matlab.

OriginalL'auteur Anoop | 2014-03-20