在MATLAB中有15種基本的數據類型:
8種整型數據類型、單精度浮點型(float)、雙精度浮點型(double)、邏輯型(logical)、字符串型(char)、單元數組型(cell)、結構體類型(struct)和函數句柄型(function_handle)。 【MATLAB中,默認的數值類型是 雙精度浮點型(double)】
>> a1= int8(-6) %有符號整數 a1 = int8 -6 -------------------------------------------------- >> a2=uint16(34) %無符號整數 a2 = uint16 34 -------------------------------------------------- >> a3=single(3.5) %單精度浮點數 a3 = single 3.5000 -------------------------------------------------- >> a4=12 a4 = 12 -------------------------------------------------- >> a5=true %邏輯型 a5 = logical 1 -------------------------------------------------- >> b2{2,1}=100 %單元數組 b2 = 2×1 cell 數組 [] [100] -------------------------------------------------- >> b3='hello' %字符串類型 b3 = hello -------------------------------------------------- >> b4.familyname='Zhang' %結構體類型 b4 = 包含以下字段的 struct: familyname: 'Zhang' -------------------------------------------------- >> c=@cos %函數句柄 c = 包含以下值的 function_handle: @cos >>
在MATLAB編程中,變量不需要定義就可以使用。在程序中,建立了采用不同數據類型的變量,並進行了輸出。在MATLAB的命令行窗口中輸入whos 后,輸出結果為:
1、整數
8種整型數據類型分別為: 有符號整型:int8(1個字節), int16(2個字節), int32(4個字節), int64(8個字節); 無符號整型:uint8, uint16, uint32, uint64。(字節數同前)
2、浮點數
浮點數和其他類型的數據進行運算時,返回的結果取決於運算中的其他數據類型。
3、復數
可以采用賦值語句直接產生復數,也可以采用函數 complex()來產生復數。
4、邏輯類型數據
包括邏輯真(用1表示,函數為true())、邏輯假(用0表示,函數為false())。
5、函數句柄(function_handle)
在MATLAB中,函數句柄類似於C語言的指針,可以通過函數句柄來間接調用函數。函數句柄可以通過符號@后面跟函數名來創建。
比如,程序 fhandle =@sin,創建了函數sin()的函數句柄 fhandle,以后就可以通過函數句柄 fhandle來間接調用函數 sin()。
6、結構體類型
MATLAB的結構體類似於C語言中的結構體數據結構。結構體是按照成員變量名組織起來的不同數據類型數據的集合。
每個成員變量用指針操作符 “.” 表示。例如 A.name 表示結構體變量 A 的 name 成員變量。
>> stu(1).name='Zhang'; %對成員變量 name 賦值 >> stu(1).age=20; %對成員變量 age 賦值 >> stu(1).gender='Male'; %對成員變量 gender 賦值 >> stu(2).name='Li'; >> stu(2).age=20; >> stu(2).gender='Male'; >> stu %顯示成員變量 ------------------------------------- stu = 包含以下字段的 1×2 struct 數組: name age gender ------------------------------------- >> stu(1) ans = 包含以下字段的 struct: name: 'Zhang' age: 20 gender: 'Male' ------------------------------------- >> stu(2) ans = 包含以下字段的 struct: name: 'Li' age: 20 gender: 'Male' >>
7、單元數組
單元數組是一種比較特殊的數據類型,每個元素都以單元(cell)的形式存在。在MATLAB中,采用大括號 { } 建立單元數組,也可以采用函數cell()來建立單元數組。在獲取單元數組的元素時,下標需要用大括號括起來。
>> c={'China','Good morning!';[1:3;2:4;3:5],20} %建立單元數組 c = 2×2 cell 數組 'China' 'Good morning!' [3×3 double] [ 20] --------------------------------------------- >> a1=c{1,1} %獲取單元數組中元素的值 a1 = China --------------------------------------------- >> a2=c{1,2} %獲取單元數組中元素的值 a2 = Good morning! --------------------------------------------- >> c{1,2}=[ ] %刪除單元數組中元素的值===》》》將單元數組的某些元素設置為空[ ],可以將該元素刪除。 c = 2×2 cell 數組 'China' [] [3×3 double] [20]
需要注意:采用成對的大括號({}) 只能獲取單個的元素,