簡介
MATLAB提供了豐富的算法以及一個易于操作的語言,給算法研發(fā)工作者提供了很多便利。然而MATLAB在執(zhí)行某些任務的時候,執(zhí)行效率偏低,測試較大任務量時可能會引起較長時間的等待。未解決這個問題,MATLAB提供了與C語言聯用的功能,而C語言的執(zhí)行效率相對較高,因此聯合使用MATLAB和C可以兼顧開發(fā)測試程序的速度和程序的執(zhí)行效率。要聯合使用它們,有必要知道MATLAB中數據的存儲方式,這就是本文索要介紹的內容。
MATLAB的數據組織方式
MATLAB中所有數組都以行優(yōu)先存儲數據,例如一個2x2的矩陣,在內存中的數據存儲順序是:(行1,列1),(行2,列1),(行1,列2),(行1,列2)。如果是三維數組,例如2x2x2的一個三維數組,其數據存儲順序為:(行1,列1,層1),(行2,列1,層1),(行1,列2,層1),(行1,列2,層1);(行1,列1,層2),(行2,列1,層2),(行1,列2,層2),(行1,列2,層2);(行1,列1,層3),(行2,列1,層3),(行1,列2,層3),(行1,列2,層3)。
這種存儲方式可以用下面的圖說明:
上圖中,不同的顏色代表不同層。每個方塊代表一個數據單元。內存地址從左到右,從上到下依次增大。
總結
MATLAB中數據的組織形式與C只相差一個行列互換!只要注意這一點,就可以在MATLAB中熟練使用MATLAB的多維數據了。