鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ Matlab數(shù)據(jù)類型
Matlab代數(shù)(方程求解)
Matlab開發(fā)環(huán)境設(shè)置
Matlab GNU Octave
Matlab字符串
Matlab矩陣
Matlab微分和導(dǎo)數(shù)
Matlab數(shù)字
Matlab數(shù)據(jù)導(dǎo)入
Matlab整合集成
Matlab冒號符號
Matlab變量
Matlab數(shù)組
Matlab運算符
Matlab數(shù)據(jù)導(dǎo)出
Matlab向量
Matlab命令
Matlab決策
Matlab微積分
Matlab圖形
Matlab教程
Matlab繪圖
Matlab多項式
Matlab .m腳本文件
Matlab循環(huán)
Matlab基礎(chǔ)語法
Matlab函數(shù)
Matlab轉(zhuǎn)換
Matlab概述
Matlab數(shù)據(jù)類型

Matlab數(shù)據(jù)類型

MATLAB不需要任何類型聲明或維度語句。當(dāng)MATLAB遇到新的變量名稱時,它將創(chuàng)建變量并分配適當(dāng)?shù)膬?nèi)存空間。

如果變量已經(jīng)存在,則MATLAB將使用新內(nèi)容替換原始內(nèi)容,并在必要時分配新的存儲空間。

例如,

total = 136;

上述語句創(chuàng)建一個名為total1x1矩陣,并將值136存儲在其中。

MATLAB數(shù)據(jù)類型

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

下表顯示了MATLAB中最常用的數(shù)據(jù)類型 -

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

示例

使用以下代碼創(chuàng)建腳本文件(datatype1.m) -

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

當(dāng)上述代碼被編譯和執(zhí)行時,它產(chǎn)生以下結(jié)果 -

Trial>> datatype1

str =

    'Hello World!'


n =

        2345


d =

        2345


un =

  uint32

   790


rn =

   5.6789e+03


c =

  int32

   5679

數(shù)據(jù)類型轉(zhuǎn)換

MATLAB提供了各種用于將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型的函數(shù)。 下表顯示了數(shù)據(jù)類型轉(zhuǎn)換函數(shù) -

函數(shù) 描述說明
char 轉(zhuǎn)換為字符數(shù)組(字符串)
int2str 將整數(shù)數(shù)據(jù)轉(zhuǎn)換為字符串
mat2str 將矩陣轉(zhuǎn)換為字符串
num2str 將數(shù)字轉(zhuǎn)換為字符串
str2double 將字符串轉(zhuǎn)換為雙精度值
str2num 將字符串轉(zhuǎn)換為數(shù)字
native2unicode 將數(shù)字字節(jié)轉(zhuǎn)換為Unicode字符
unicode2native 將Unicode字符轉(zhuǎn)換為數(shù)字字節(jié)
base2dec 將基數(shù)N字符串轉(zhuǎn)換為十進(jìn)制數(shù)
bin2dec 將二進(jìn)制數(shù)字串轉(zhuǎn)換為十進(jìn)制數(shù)
dec2base 將十進(jìn)制轉(zhuǎn)換為字符串中的N數(shù)字
dec2bin 將十進(jìn)制轉(zhuǎn)換為字符串中的二進(jìn)制數(shù)
dec2hex 將十進(jìn)制轉(zhuǎn)換為十六進(jìn)制數(shù)字
hex2dec 將十六進(jìn)制數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù)
hex2num 將十六進(jìn)制數(shù)字字符串轉(zhuǎn)換為雙精度數(shù)字
num2hex 將單數(shù)轉(zhuǎn)換為IEEE十六進(jìn)制字符串
cell2mat 將單元格數(shù)組轉(zhuǎn)換為數(shù)組
cell2struct 將單元格數(shù)組轉(zhuǎn)換為結(jié)構(gòu)數(shù)組
cellstr 從字符數(shù)組創(chuàng)建字符串?dāng)?shù)組
mat2cell 將數(shù)組轉(zhuǎn)換為具有潛在不同大小的單元格的單元陣列
num2cell 將數(shù)組轉(zhuǎn)換為具有一致大小的單元格的單元陣列
struct2cell 將結(jié)構(gòu)轉(zhuǎn)換為單元格數(shù)組

數(shù)據(jù)類型確定

MATLAB提供了用于識別變量數(shù)據(jù)類型的各種函數(shù)。

下表提供了確定變量數(shù)據(jù)類型的函數(shù) -

函數(shù) 描述說明
is 檢測狀態(tài)
isa 確定輸入是否是指定類的對象
iscell 確定輸入是單元格數(shù)組
iscellstr 確定輸入是字符串的單元格數(shù)組
ischar 確定項目是否是字符數(shù)組
isfield 確定輸入是否是結(jié)構(gòu)數(shù)組字段
isfloat 確定輸入是否為浮點數(shù)組
ishghandle 確定是否用于處理圖形對象句柄
isinteger 確定輸入是否為整數(shù)數(shù)組
isjava 確定輸入是否為Java對象
islogical 確定輸入是否為邏輯數(shù)組
isnumeric 確定輸入是否是數(shù)字?jǐn)?shù)組
isobject 確定輸入是否為MATLAB對象
isreal 檢查輸入是否為實數(shù)數(shù)組
isscalar 確定輸入是否為標(biāo)量
isstr 確定輸入是否是字符數(shù)組
isstruct 確定輸入是否是結(jié)構(gòu)數(shù)組
isvector 確定輸入是否為向量
class 確定對象的類
validateattributes 檢查數(shù)組的有效性
whos 在工作區(qū)中列出變量,其大小和類型

示例

使用以下代碼創(chuàng)建腳本文件 -

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)

運行文件后,產(chǎn)生以下結(jié)果 -

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圖形下一篇:Matlab矩陣