MATLAB不需要任何類型聲明或維度語句。當MATLAB遇到新的變數名稱時,它將創建變數並分配適當的記憶體空間。
如果變數已經存在,則MATLAB將使用新內容替換原始內容,並在必要時分配新的存儲空間。
例如,
total = 136;
上述語句創建一個名為total
的1x1
矩陣,並將值136
存儲在其中。
MATLAB數據類型
MATLAB提供15
種基本數據類型。每種數據類型存儲矩陣或數組形式的數據。矩陣或數組的最小值是0
到0
,並且是可以到任何大小的矩陣或數組。
下表顯示了MATLAB中最常用的數據類型 -
數據類型 | 描述 |
---|---|
int8 |
8 位有符號整數 |
uint8 |
8 位無符號整數 |
int16 |
16 位有符號整數 |
uint16 |
16 位無符號整數 |
int32 |
32 位有符號整數 |
uint32 |
32 位無符號整數 |
int64 |
64 位有符號整數 |
uint64 |
64 位無符號整數 |
single |
單精確度數值數據 |
double |
雙精度數值數據 |
logical |
邏輯值為1 或0 ,分別代表true 和false |
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運算符