Es ist wichtig, die Daten so zu speichern, dass sie in den verwendeten Sprachen abgerufen werden können. C-Sprache speichert in Zeilenreihenfolge (die gesamte erste Zeile steht an erster Stelle, dann die gesamte zweite Zeile, ...), wobei jeder Index von 0 bis zur Dimension 1 läuft. Die Reihenfolge des Arrays x [2] [3] ist also x [0] [0], x [0] [1], x [0] [2], x [1] [0], x [1] [ 1], x [1] [2]. In der Sprache C wird x [i] [j] an derselben Stelle gespeichert wie ein eindimensionaler Array-Eintrag x1dim [i * 3 + j]. Wenn die Daten auf diese Weise gespeichert werden, können sie leicht in der Sprache C abgerufen werden.
Fortran und MATLAB sind unterschiedlich. Sie werden in Spalten-Hauptreihenfolge gespeichert (die gesamte erste Spalte kommt zuerst, dann die gesamte zweite Zeile, ...) und jeder Index läuft von 1 bis zu seiner Dimension. Die Indexreihenfolge ist also umgekehrt zu C und alle Indizes sind 1 größer. Wenn Sie die Daten in der Reihenfolge C speichern, kann FORTRAN X_C_language [i] [j] mit X_FORTRAN (j + 1, i + 1) finden. Zum Beispiel ist X_C_language [1] [2] gleich X_FORTRAN (3,2). In eindimensionalen Arrays liegt dieser Datenwert bei X1dim_C_language [2 * Cdim2 + 3], was der gleichen Position wie bei X1dim_FORTRAN (2 * Fdim1 + 3 + 1) entspricht. Denken Sie daran, dass Cdim2 = Fdim1 ist, da die Reihenfolge der Indizes umgekehrt ist.
MATLAB ist dasselbe wie FORTRAN. Ada ist dasselbe wie C, außer dass die Indizes normalerweise bei 1 beginnen. Jede Sprache hat die Indizes in einer dieser C- oder FORTRAN-Ordnungen und die Indizes beginnen bei 0 oder 1 und können entsprechend angepasst werden, um an die gespeicherten Daten zu gelangen.
Es tut mir leid, wenn diese Erklärung verwirrend ist, aber ich denke, es ist genau und wichtig, dass ein Programmierer sie kennt.