matlab的主要資料型別有:整型,浮點型,邏輯,字元,日期和時間,結構陣列,細胞陣列及函式控制代碼等,其中函式控制代碼是matlab所特有的一種資料型別。
一:整數型與浮點型
matlab提供了幾種常用整數型資料和浮點型資料的定義函式,如表所示:
資料型別
函式類別
儲存空間
整數型int8()
有符號8位整型
1byte
uint8()
無符號8位整型
1byte
int16()
有符號16位整型
2bytes
uint16()
無符號16位整型
2bytes
int32()
有符號32位整型
4bytes
uint32()
無符號32位整型
4bytes
浮點型single()
單精度4bytes
double()
雙精度8bytes
1.1 資料型別範圍查詢:
對於整型matlab提供了兩個函式分別檢視不同類別整型資料的最值:intmax(『class』)與intmin(『class』),而對於浮點型matlab也提供了兩個函式realmax(『class』)和realmin(『class』)檢視單/雙精度的最值。
如上所示,檢視到int8所能取的最大值為127,single所能取的最小值為1.1755e-38。
1.2 浮點型取整:
matlab針對不同的取整規則提供了不同的函式,具體如表所示:
函式取整規則
fix()
朝零方向取整
floor()
朝負無窮方向取整
ceil()
朝正無窮方向取整
round()
四捨五入到最近的整數
二:邏輯與字元
函式:logical()
邏輯值取0或者1,分別代表false和true。而用函式false()生成邏輯0的矩陣,函式true()生成邏輯1的矩陣。
函式:char()
matlab中的輸入字元需使用單引號。字串儲存為字元陣列,每個元素占用乙個ascii字元。
char函式會自動補空格,需用時用deblack()函式移除空格,即deblank(name(1,:))。
三:結構型別
結構是包含一組記錄的資料型別,而記錄則是儲存在相應的字段中。結構的字段可以是任意一種matlab資料型別的變數或者物件。結構型別的變數也可以是一維的、二維的或多維的陣列。結構陣列也稱為架構陣列。不過,在訪問結構型別資料的元素時,需要使用下標配合欄位的形式。結構陣列有兩種建立方法,直接定義法和函式建立法。
3.1直接定義法
stu是一種結構,可以容納更多的元素,也可以自由地向結構中加入元素。
3.2用struct函式建立結構陣列
使用struct函式,可以根據指定的字段及其相應的值建立結構體陣列。此函式的一般形式為: str_array=struct(『field1』,,『field2』,…);
在元素較多時,使用struct()函式建立結構陣列比直接定義法方便許多。
四:細胞陣列
普通陣列中的每個元素都必須具有相同的資料型別,而細胞則沒有此要求,該結構可以把不同型別的資料納入到乙個變數中。細胞變數的表示方法類似於帶有下標的陣列,但這些下標不是用圓括號括起來,而是使用大括號。它也有兩種建立方法,直接賦值法和利用函式建立。
4.1直接賦值
賦值時使用大括號,查詢時使用小括號表示對應元素的大小及型別,使用大括號表示對應元素的內容,具體例子如下圖所示:
4.2函式建立法
用cell函式預先分配儲存空間,然後對細胞的每個元素逐個賦值。
celldisp():輸出細胞變數的內容。
cellplot():用圖形方式顯示細胞變數的內容。
iscell():判別乙個變數是否為細胞變數。
五:函式控制代碼
函式控制代碼的主要優點就是可以將函式控制代碼作為呼叫中的參量傳遞到另乙個函式,它們還可以儲存到資料結構或檔案中,以備將來使用。
函式控制代碼有兩種不同對型別,這兩種型別都是用函式控制代碼符號@來建立。第乙個函式控制代碼是命名函式控制代碼,即在運算子@的後面跟乙個希望的函式名稱。
第二個函式控制代碼是匿名函式控制代碼,它由代替函式名的matlab表示式形成。構建匿名函式控制代碼的通用格式是:
Matlab資料型別轉換
三種陣列是 數值型矩陣,字元陣列 或字串 單元陣列 也有叫元胞陣列 1 數值型矩陣轉換為字元陣列 num2str mat2str a 1,2,3 4,5,6 b num2str a b 1 2 3 4 5 6 whos name size bytes class attributes a 2x3 4...
資料型別及轉換
原始值 number string boolean null undefined 引用值 object array object function date regexp 正規表示式 原始值和引用值區別 原始型別變數,存放的是具體的值,即修改變數a的值,不會影響變數b的值。var a 5 var b...
資料型別及轉換
number 整數,浮點數,nan 0 預設值 number typeof型別 string 任何加了引號的都是字串 string boolean 布林值false boolean undefined 宣告了變數,但是沒有賦值 undefined undefined null 宣告變數為空值 nul...