Điều quan trọng là phải lưu trữ dữ liệu theo cách có thể được truy xuất bằng các ngôn ngữ được sử dụng. Ngôn ngữ C lưu trữ theo thứ tự hàng chính (tất cả hàng đầu tiên đứng trước, sau đó đến hàng thứ hai, ...) với mọi chỉ mục chạy từ 0 đến thứ nguyên-1. Vậy thứ tự của mảng x [2] [3] là x [0] [0], x [0] [1], x [0] [2], x [1] [0], x [1] [ 1], x [1] [2]. Vì vậy, trong ngôn ngữ C, x [i] [j] được lưu trữ ở cùng một nơi như một mục nhập mảng 1 chiều x1dim [i * 3 + j]. Nếu dữ liệu được lưu trữ theo cách đó, rất dễ dàng truy xuất bằng ngôn ngữ C.
Fortran và MATLAB là khác nhau. Chúng lưu trữ theo thứ tự chính của cột (tất cả cột đầu tiên đứng trước, sau đó đến hàng thứ hai, ...) và mọi chỉ mục chạy từ 1 đến thứ nguyên của nó. Vì vậy, thứ tự chỉ số là đảo ngược của C và tất cả các chỉ số đều lớn hơn 1. Nếu bạn lưu trữ dữ liệu theo thứ tự ngôn ngữ C, FORTRAN có thể tìm thấy X_C_language [i] [j] bằng cách sử dụng X_FORTRAN (j + 1, i + 1). Ví dụ: X_C_language [1] [2] bằng X_FORTRAN (3,2). Trong mảng 1 chiều, giá trị dữ liệu đó ở X1dim_C_language [2 * Cdim2 + 3], cùng vị trí với X1dim_FORTRAN (2 * Fdim1 + 3 + 1). Hãy nhớ rằng Cdim2 = Fdim1 vì thứ tự của các chỉ số bị đảo ngược.
MATLAB cũng giống như FORTRAN. Ada giống với C ngoại trừ các chỉ số thường bắt đầu bằng 1. Bất kỳ ngôn ngữ nào cũng sẽ có các chỉ số ở một trong các lệnh C hoặc FORTRAN đó và các chỉ số sẽ bắt đầu từ 0 hoặc 1 và có thể được điều chỉnh cho phù hợp để lấy dữ liệu được lưu trữ.
Xin lỗi nếu lời giải thích này khó hiểu, nhưng tôi nghĩ nó là chính xác và quan trọng đối với một lập trình viên.