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