Matlab數據類型

MATLAB不需要任何類型聲明或維度語句。當MATLAB遇到新的變數名稱時,它將創建變數並分配適當的記憶體空間。

如果變數已經存在,則MATLAB將使用新內容替換原始內容,並在必要時分配新的存儲空間。

例如,

total = 136;

上述語句創建一個名為total1x1矩陣,並將值136存儲在其中。

MATLAB數據類型

MATLAB提供15種基本數據類型。每種數據類型存儲矩陣或數組形式的數據。矩陣或數組的最小值是00,並且是可以到任何大小的矩陣或數組。

下表顯示了MATLAB中最常用的數據類型 -

數據類型 描述
int8 8位有符號整數
uint8 8位無符號整數
int16 16位有符號整數
uint16 16位無符號整數
int32 32位有符號整數
uint32 32位無符號整數
int64 64位有符號整數
uint64 64位無符號整數
single 單精確度數值數據
double 雙精度數值數據
logical 邏輯值為10,分別代表truefalse
char 字元數據(字串作為字元向量存儲)
單元格陣列 索引單元陣列,每個都能夠存儲不同維數和數據類型的數組
結構體 C型結構,每個結構具有能夠存儲不同維數和數據類型的數組的命名字段
函數處理 指向一個函數的指針
用戶類 用戶定義的類構造的對象
Java類 從Java類構造的對象

示例

使用以下代碼創建腳本檔(datatype1.m) -

str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)

當上述代碼被編譯和執行時,它產生以下結果 -

Trial>> datatype1

str =

    'Hello World!'


n =

        2345


d =

        2345


un =

  uint32

   790


rn =

   5.6789e+03


c =

  int32

   5679

數據類型轉換

MATLAB提供了各種用於將一種數據類型轉換為另一種數據類型的函數。 下表顯示了數據類型轉換函數 -

函數 描述說明
char 轉換為字元數組(字串)
int2str 將整數數據轉換為字串
mat2str 將矩陣轉換為字串
num2str 將數字轉換為字串
str2double 將字串轉換為雙精度值
str2num 將字串轉換為數字
native2unicode 將數字位元組轉換為Unicode字元
unicode2native 將Unicode字元轉換為數字字節
base2dec 將基數N字串轉換為十進位數
bin2dec 將二進位數字串轉換為十進位數
dec2base 將十進位轉換為字串中的N數字
dec2bin 將十進位轉換為字串中的二進位數
dec2hex 將十進位轉換為十六進制數字
hex2dec 將十六進制數字字串轉換為十進位數
hex2num 將十六進制數字字串轉換為雙精度數字
num2hex 將單數轉換為IEEE十六進制字串
cell2mat 將單元格數組轉換為數組
cell2struct 將單元格數組轉換為結構數組
cellstr 從字元數組創建字串數組
mat2cell 將數組轉換為具有潛在不同大小的單元格的單元陣列
num2cell 將數組轉換為具有一致大小的單元格的單元陣列
struct2cell 將結構轉換為單元格數組

數據類型確定

MATLAB提供了用於識別變數數據類型的各種函數。

下表提供了確定變數數據類型的函數 -

函數 描述說明
is 檢測狀態
isa 確定輸入是否是指定類的對象
iscell 確定輸入是單元格數組
iscellstr 確定輸入是字串的單元格數組
ischar 確定專案是否是字元數組
isfield 確定輸入是否是結構數組字段
isfloat 確定輸入是否為浮點數組
ishghandle 確定是否用於處理圖形對象句柄
isinteger 確定輸入是否為整數數組
isjava 確定輸入是否為Java對象
islogical 確定輸入是否為邏輯數組
isnumeric 確定輸入是否是數字數組
isobject 確定輸入是否為MATLAB對象
isreal 檢查輸入是否為實數數組
isscalar 確定輸入是否為標量
isstr 確定輸入是否是字元數組
isstruct 確定輸入是否是結構數組
isvector 確定輸入是否為向量
class 確定對象的類
validateattributes 檢查數組的有效性
whos 在工作區中列出變數,其大小和類型

示例

使用以下代碼創建腳本檔 -

x = 3
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

x = 23.54
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

x = [1 2 3]
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)

x = 'Hello'
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

運行檔後,產生以下結果 -

x = 3
ans = 0
ans = 1
ans = 1
ans = 1
ans = 1
x = 1177/50
ans = 0
ans = 1
ans = 1
ans = 1
ans = 1
x =

          1          2          3

ans = 0
ans = 1
ans = 1
ans = 0
x = Hello
ans = 0
ans = 0
ans = 1
ans = 0
ans = 0

上一篇: Matlab .m腳本檔 下一篇: Matlab運算符