一般矩陣的內部資料型態都是預設成 double(雙精準浮點數),但在 MATLAB 5.3 版之後,也支援不同長度的整數與浮點數資料態,整理如下表:
指令 說明 uint8 轉換成不帶正負號、 8 位元的整數,其值域為 $[0, 2^{8}-1]=[0,255]$ uint16 轉換成不帶正負號、16 位元的整數,其值域為 $[0, 2^{16}-1]=[0,65535]$ uint32 轉換成不帶正負號、32 位元的整數,其值域為 $[0, 2^{32}-1]$ int8 轉換成帶正負號、 8 位元的整數,其值域為 $[-2^{7}, 2^{7}-1]=[-128,127]$ int16 轉換成帶正負號 、 16 位元的整數,其值域為 $[-2^{15}, 2^{15}-1]=[-32768,32767]$ int32 轉換成帶正負號 、 32 位元的整數,其值域為 $[-2^{31}, 2^{31}-1]$ single 轉換成 single(單精準浮點數),佔用 32 位元(4 bytes) double 轉換成double (雙精準浮點數),佔用 64 位元(8 bytes) char 轉換成字元或字串,每個字元佔用(16 位元)(2 bytes) 因此,如果我們要節省記憶體空間,就可以依矩陣元素值的範圍,選用不同的資料來儲存,例如:
由上可知,使用 uint8 來儲存變數所佔的空間只有 double 的八分之一。但是要注意的是:整數資料型態的範圍有限,若超過此範圍,則超出部分將會被「裁掉」,例如:
MATLAB程式設計:入門篇![]()