Matlab中數(shù)據(jù)的存儲(chǔ)方式
掃描二維碼
隨時(shí)隨地手機(jī)看文章
簡(jiǎn)介
MATLAB提供了豐富的算法以及一個(gè)易于操作的語(yǔ)言,給算法研發(fā)工作者提供了很多便利。然而MATLAB在執(zhí)行某些任務(wù)的時(shí)候,執(zhí)行效率偏低,測(cè)試較大任務(wù)量時(shí)可能會(huì)引起較長(zhǎng)時(shí)間的等待。未解決這個(gè)問題,MATLAB提供了與C語(yǔ)言聯(lián)用的功能,而C語(yǔ)言的執(zhí)行效率相對(duì)較高,因此聯(lián)合使用MATLAB和C可以兼顧開發(fā)測(cè)試程序的速度和程序的執(zhí)行效率。要聯(lián)合使用它們,有必要知道MATLAB中數(shù)據(jù)的存儲(chǔ)方式,這就是本文索要介紹的內(nèi)容。
MATLAB的數(shù)據(jù)組織方式
MATLAB中所有數(shù)組都以行優(yōu)先存儲(chǔ)數(shù)據(jù),例如一個(gè)2x2的矩陣,在內(nèi)存中的數(shù)據(jù)存儲(chǔ)順序是:(行1,列1),(行2,列1),(行1,列2),(行1,列2)。如果是三維數(shù)組,例如2x2x2的一個(gè)三維數(shù)組,其數(shù)據(jù)存儲(chǔ)順序?yàn)椋海ㄐ?,列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)。
這種存儲(chǔ)方式可以用下面的圖說明:
上圖中,不同的顏色代表不同層。每個(gè)方塊代表一個(gè)數(shù)據(jù)單元。內(nèi)存地址從左到右,從上到下依次增大。
總結(jié)
MATLAB中數(shù)據(jù)的組織形式與C只相差一個(gè)行列互換!只要注意這一點(diǎn),就可以在MATLAB中熟練使用MATLAB的多維數(shù)據(jù)了。